Команда работает:
- Код: Выделить всё
Clipboard.Assign(Image2.Picture);
Команда не работает?
- Код: Выделить всё
Image1.Picture.Assign(Clipboard);
Пробовал в компиляторе 2.2.4 и в 2.5.1
выдает ошибку в graphics.inc
- Код: Выделить всё
procedure TGraphic.LoadFromMimeStream(AStream: TStream; const AMimeType: string);
var
DefMimeType: String;
begin
DefMimeType := MimeType;
if (DefMimeType <> '') and (AMimeType = DefMimeType) then
LoadFromStream(AStream)
else
raise EInvalidGraphic.Create(ClassName+': Unsupported MimeType: ' + AMimeType);
end;
Добавлено спустя 13 часов 54 минуты 42 секунды:
В общем пришлось пойти сложным путем:
- Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
Stream: TMemoryStream;
fmt : Word;
// b : Byte;
begin
Stream := TMemoryStream.Create;
try
fmt := Clipboard.Formats[0];
case fmt of
8 : fmt := 2;
49161 : fmt := 2;
end;
Clipboard.GetFormat(fmt,Stream);
// Stream.Position := 0;
// Stream.Read(b,1);
// Memo1.Text := IntToStr(fmt)+'|'+IntToStr(Stream.GetSize)+'|'+IntToStr(b);
Stream.Position := 0;
if Clipboard.HasFormat(CF_Text) then
Memo1.Lines.LoadFromStream(Stream)
else
if Clipboard.HasFormat(CF_Bitmap) then
Image1.Picture.Bitmap.LoadFromStream(Stream)
else
if Clipboard.HasFormat(CF_Picture) then
Image1.Picture.Bitmap.LoadFromStream(Stream);
finally
Stream.Free;
end;
end;
По крайне мере этот код работает.