Anyway, fishing in dark. should that work ?:
if Clipboard.HasFormat(PredefinedClipboardFormat(pcfBitmap)) then
begin
bmp.Assign(Clipboard);
end;
it dies in last line here in TFPImageBitmap with message: Wrong image format
procedure TFPImageBitmap.ReadStream(AStream: TMemoryStream; ASize: Longint);
var
SCB: TSharedCustomBitmap;
IntfImg: TLazIntfImage;
ImgReader: TFPCustomImageReader;
LazReader: ILazImageReader;
begin
IntfImg := nil;
ImgReader := nil;
try
// read image
ImgReader := GetReaderClass.Create;
ImgReader.OnProgress := Self.OnProgress;
IntfImg := TLazIntfImage.Create(0,0,[]);
InitializeReader(IntfImg, ImgReader);
if Supports(ImgReader, ILazImageReader, LazReader)
then LazReader.UpdateDescription := True
else IntfImg.DataDescription := GetDescriptionFromDevice(0, 0, 0); // fallback to default
ImgReader.ImageRead(AStream, IntfImg);
...