![]() |
Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
Interessanter Ansatz... wie würd ich das aus der Zwischenablage rausholen und dann interpretieren?
|
Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
Mit der Clipboard-Klasse von .Net funktionier alles tadellos :| . Vielleicht finde ich etwas Interessantes im Reflector.
[edit] Etwas komplex, das Ganze *g* . Der Hauptunterschied ist jedenfalls, dass die VCL GetClipboardData und die BCL OleGetClipboard nutzt. [/edit] |
Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
Hallo,
danke für deine Bemühungen, Khabarakh. Die Lib namens "gdiplus" gibts bei torry, hier: ![]() Mein Code:
Delphi-Quellcode:
Bei meinen Versuchen schien das Bild selbst übrigens gleichgültig zu sein(habe mehrere ausprobiert, allerdings jeweils nur mit GIMP, Vergleich war ein einfacher Screenshot per Druck-Taste), entscheidend war der "Export" mit GIMP (Version 2.2.8).
procedure TFMain.SBPasteClick(Sender: TObject);
var pic: TPicture; bitmap: TGPBitmap; //GDI-bitmap g: TGPGraphics; //GDI-"Canvas" begin pic := TPicture.Create; if Clipboard.HasFormat(CF_BITMAP) then begin bitmap := TGPBitmap.Create(Clipboard.GetAsHandle(CF_BITMAP),0); pic.Bitmap.SetSize(bitmap.GetWidth,bitmap.GetHeight); g := TGPGraphics.Create(pic.Bitmap.Canvas.Handle); g.DrawImage(bitmap,0,0); bitmap.Free; g.free; end else Exit; if not pic.Bitmap.Empty then //schlägt bei GIMP-Auschnitt an LoadImage(pic); pic.Free; end; |
Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
(Edit oben)
Hab mal schnell (pinvoke.net sei Dank ^^ ) TClipboard nachprogrammiert, damit kommt es auch unter dotNet zu einem GDI-Fehler. Nun, das Nachprogrammieren von System.Windows.Forms.Clipboard + DataObject + OleConverter wird wohl nicht ganz so schnell vonstatten gehen ;) . |
Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
Du siehst also keine Möglichkeit, da irgendwas schon auf WinAPI-Ebene abzuzweigen? Dieses OLE-Dings zum Beispiel?
Mal ne andere Frage: Wie bekomm ich die Daten (ausgehend vom handle) komplett aus der zwischenablage raus, meinetwegen in einen Stream? Dann kann ich ja mal mit diversen Hämmern, ich meinte Dateiformate, an die Sache rangehen. Wird ja wohl ne OS/2-Bitmap-Lib geben oder zumindest n RFC. |
Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
[quote="DGL-luke"]Du siehst also keine Möglichkeit, da irgendwas schon auf WinAPI-Ebene abzuzweigen? Dieses OLE-Dings zum Beispiel?[quote]Wie gesagt, OleGetClipboard. Auch das Framework kann nicht zaubern, irgendwo muss es noch auf der WinAPI aufsetzen ;) . Aber auch mit dem IDataObject ist erst die Hälfte der Arbeit getan, die .Net-Klassen kannst du als Beispielimplementierung verwenden.
Zitat:
|
Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
Ok... werd mir das mal ansehen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz