![]() |
Firemonkey - Inhalte von TLayer3D als Bild speichern - Wie?
Hallo Wissende,
ich bin gerade dabei mich etwas mit Firemonkey zu beschäftigen. Ich weiss nicht, ob meine Herangehensweise korrekt ist, aber ich habe auf ein 3d-Form einen TLayer3D platziert und darauf ein Bild und ein Textobjekt platziert. Nun würde ich gern dieses Szenario als Bild speichern - am Besten als PNG mit Transparenz.
Delphi-Quellcode:
Damit erhalte ich aber nur ein Schwarzes Bild in der Größe des Layers.
Layer3D1.Canvas.Bitmap.SaveToFile('c:\temp\test.bmp');
Wie könnte ich das also machen? Der Plan ist dynamisch auf dem Formular oder dem Layer Bilder und Texte zu platzieren und dann ein Bild davon zu erstellen. Geht das überhaupt und wenn ja, WIE? |
AW: Firemonkey - Inhalte von TLayer3D als Bild speichern - Wie?
Delphi Version? (Delphi 7 wohl eher nicht)
|
AW: Firemonkey - Inhalte von TLayer3D als Bild speichern - Wie?
Ups, sorry - XE2 oder XE5 wären möglich.
|
AW: Firemonkey - Inhalte von TLayer3D als Bild speichern - Wie?
Vielleicht kommst du mit
![]() |
AW: Firemonkey - Inhalte von TLayer3D als Bild speichern - Wie?
Jo, das geht zwar, aber krieg einfach nur ein scharzes Bild.
Delphi-Quellcode:
var
bmp : TBitmap; begin bmp := TBitmap.Create; Layer3D1.PaintToBitmap(bmp, 1024, 576, $FF000000); bmp.SaveToFile('c:\temp\test.bmp'); bmp.Free; |
AW: Firemonkey - Inhalte von TLayer3D als Bild speichern - Wie?
Delphi-Quellcode:
var
bmp : TBitmap; begin bmp := TBitmap.Create( Layer3D1.Width, Layer3D1.Height); Layer3D1.PaintToBitmap(bmp, 1024, 576, $FF000000); bmp.SaveToFile('c:\temp\test.bmp'); bmp.Free; |
AW: Firemonkey - Inhalte von TLayer3D als Bild speichern - Wie?
Abgesehen von der Füllfarbe wäre das eigentlich die richtige Methode - wenn sie denn funktionieren würde...
|
AW: Firemonkey - Inhalte von TLayer3D als Bild speichern - Wie?
Zitat:
Die Füllfarbe habe ich eigentlich aus unit System.UITypes übernommen. Welcher Wert wäre denn sonst gültig und warum funktioniert das Ganze nicht? |
AW: Firemonkey - Inhalte von TLayer3D als Bild speichern - Wie?
Brobier's mal mit Layer3D1.Buffer - also Layer3D1.Buffer.SaveToFile(...). PaintToBitmap funktioniert - wie schon angemerkt - leider nicht.
|
AW: Firemonkey - Inhalte von TLayer3D als Bild speichern - Wie?
Zitat:
Zitat:
Warum es nicht funktioniert, kann ich dir auch nicht sagen. Ich bekomme manchmal zwar etwas in die Bitmap, wenn die Projektion auf Camera steht, aber nicht ganz das was ich will. Ich habe aber jetzt auch keine Zeit den Fehler zu suchen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz