Hallo,
ich habe folgende Situation.
Auf meinem Form gibt es die Komponente Image1 vom Typ TImage (FMX) mit einem Bild von meiner Kamera.
Nun möchte ich auf das Bild drauf den Datum/Zeit-Stempel zeichnen und dann das Bild abspeichern.
Leider klappt das Zeichnen nicht. Weder das schwarze Rechteck noch irgend ein Text ist in dem gespeicherten Bild am Schluss sichtbar.
Delphi-Quellcode:
procedure TFrmMain.SavePicture(const _Path:string);
var
_BackgroundRect:TRectF;
_CapturedImage:TBitmap;
begin
StopVideo;
FPitcureDateTime:=now;
_CapturedImage:=TBitmap.Create; // temporäres Bitmap für das Zeichnen
_CapturedImage.Assign(Image1.Bitmap); // das Bild in das temporäre Bitmap kopieren.
_BackgroundRect:=TRectF.Create(16,16,316,56); // Rechteck für das Zeichnen des Datum/Zeitstempels erzeugen.
_CapturedImage.Canvas.BeginScene;
_CapturedImage.Canvas.Font.Size:=20;
_CapturedImage.Canvas.Stroke.Kind:=TBrushKind.Solid;
_CapturedImage.Canvas.Stroke.Thickness:=10;
_CapturedImage.Canvas.Stroke.Color:=TColorRec.Lime;
_CapturedImage.Canvas.Fill.Color := TColorRec.Black;
_CapturedImage.Canvas.Fill.Kind:=TBrushKind.Solid;
_CapturedImage.Canvas.DrawRect(_BackgroundRect,20,20,AllCorners,1.0); // schwarzes Rechteck zeichnen.
_CapturedImage.Canvas.FillText(_BackgroundRect,FormatDateTime('yyyyMMdd_hh.mm.ss', FPitcureDateTime), false, 1,[TFillTextFlag.RightToLeft], TTextAlign.Center, TTextAlign.Center);
_CapturedImage.Canvas.EndScene;
_CapturedImage.SaveToFile(_path+'saveimage.png');
end;
Hat jemand einen Tip?
Danke.