Не удается назначить TBitmapOfItem для TClipBoard? - PullRequest
0 голосов
/ 06 мая 2019

Мне нужно обрезать pdf и создать документ Word для этого обрезанного изображения png, вставив его в документ word.

Я использую платформу Firemonkey

это код:

    procedure TForm2.Button1Click(Sender: TObject);
    begin
     ShellExecute(FormToHWND(Self),'open',PChar(GetCurrentDir+'\cairo.exe')
     ,PWideChar('-opw '+Edit1.Text+
     ' -cropbox -png -x 64 -y 215 -W 144 -H 375 -r 167 '+
     PdfFile+' tools/card'),'',SW_Hide);
     Sleep(500);
     Image1.Bitmap.LoadFromFile(Output);
    end;

    procedure TForm2.Button2Click(Sender: TObject);
    begin
         ClipBoard.Assign(Image1.Bitmap);
    end;

        procedure TForm2.FormCreate(Sender: TObject);
    begin
    Output:= GetCurrentDir+'\tools\card-1.png';
    end; 

При нажатии кнопки 2 появляется сообщение об ошибке Невозможно назначить TBitmapOfItem для TClipBoard .

Как скопировать изображение в буфер обмена и создать документ Word (о нем мало что известно)?

1 Ответ

0 голосов
/ 06 мая 2019

Простой пример того, как вы можете скопировать некоторое изображение в буфер обмена в FMX:

uses
  FMX.Platform;

...

procedure TForm1.Button1Click(Sender: TObject);
var
  VClipboard: IFMXClipboardService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXClipboardService, VClipboard) then begin
    Image1.Bitmap.LoadFromFile('c:\image_1.png');
    VClipboard.SetClipboard(Image1.Bitmap);
  end;
end;

Подробнее об использовании буфера обмена в приложениях FMX здесь: Поддержка нескольких устройств и поддержка буфера обмена

...