Zitat:
Delphi-Quellcode:
Image := TImage.Create(Self.Owner);
try
Image.Picture.Bitmap.Assign(FBitmap);
Image.Invalidate;
Clipboard.Assign(Image.Picture.Graphic);
finally
Image.Free;
end;
Effektiv macht dein Code das hier
Clipboard.Assign(FBitmap);
Invalidate macht nichts, das das TImage eh nicht sichtbar ist
Delphi-Quellcode:
Image := TImage.Create(Self.Owner);
try
Image.Picture.Bitmap.Assign(FBitmap);
Clipboard.Assign(Image.Picture.Graphic);
finally
Image.Free;
end;
von TImage wird garnicht benutzt, also TPicture
Delphi-Quellcode:
Picture := TPicture.Create(Self.Owner);
try
Picture.Bitmap.Assign(FBitmap);
Clipboard.Assign(Picture.Graphic);
finally
Picture.Free;
end;
im Graphic ist das Bitmap drin, wodurch Graphic = Bitmap,
also
Clipboard.Assign(Picture.Bitmap);
Picture.Bitmap erstellt ein TBitmap (wenn/da noch Keines drin ist), und es wird unverändert als TBitmap weiterverwendet,
womit auch das TPicture praktisch garnicht verwendet wird
Delphi-Quellcode:
Bitmap := TBitmap.Create(Self.Owner);
try
Bitmap.Assign(FBitmap);
Clipboard.Assign(Bitmap);
finally
Bitmap.Free;
end;
und dann kopierst du den Inhalt des einen Bitmaps nur in ein Anderes, womit das auch wegfallen könnte, weil sich doch nichts verändert,
also
Clipboard.Assign(FBitmap);