Übernahme von Bilder aus Clipboard

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
V.Berg
Beiträge: 1
Registriert: Sa 13. Mär 2010, 19:29

Übernahme von Bilder aus Clipboard

Beitrag von V.Berg »

Ich habe folgendens Problem: Der Programmcode läuft unter Delphi einwandfrei. Bilder, die mit Lazarus im Clipboard gespeichert werden, lassen sich von Delphi problemlos mit Paste öffnen; nur leider nicht von Lazarus selber. Delphi erkennt das Clipboardformat CF_BITMAP, Lazarus anscheinend nicht. Hat jemand einen Lösungvorschlag?

Code: Alles auswählen

procedure TForm1.Copy1Click(Sender: TObject);
begin
  Clipboard.Assign(image.Picture);
end;
 
procedure TForm1.Cut1Click(Sender: TObject);
var
  ARect: TRect;
begin
  Copy1Click(Sender);
  with Image.Canvas do
  begin
 
    CopyMode := cmWhiteness;
    ARect := Rect(0, 0, Image.Width, Image.Height);
    CopyRect(ARect, Image.Canvas, ARect);
    CopyMode := cmSrcCopy;
 
  end;
end;
 
procedure TForm1.Paste1Click(Sender: TObject);
 
var
  Bitmap: TBitmap;
begin
  if Clipboard.HasFormat(CF_BITMAP) then
  begin
    Bitmap := TBitmap.Create;
    try
      Bitmap.Assign(Clipboard);
      Image.Canvas.Draw(0, 0, Bitmap);
    finally
      Bitmap.Free;
    end;
  end;
end;

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: Übernahme von Bilder aus Clipboard

Beitrag von theo »

Clipboard.Assign(Image1.Picture.Bitmap);
ClipBoard.SupportedFormats(Memo1.lines);
Clipboard.AssignTo(Image2.Picture.Bitmap);

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Übernahme von Bilder aus Clipboard

Beitrag von pluto »

Das Problem wird CopyRect sein. Nutzte mal bitBlt direkt. Mit CopyRect gab es in der Vergangenheit recht häufig Probleme. Ob das immer noch so ist weiß ich nicht genau.
MFG
Michael Springwald

Antworten