AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Was kann Paint, was ich nicht kann? ( Clipboard pasten )
Thema durchsuchen
Ansicht
Themen-Optionen

Was kann Paint, was ich nicht kann? ( Clipboard pasten )

Ein Thema von DGL-luke · begonnen am 17. Jun 2006 · letzter Beitrag vom 1. Sep 2006
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#21

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )

  Alt 31. Aug 2006, 21:47
Interessanter Ansatz... wie würd ich das aus der Zwischenablage rausholen und dann interpretieren?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#22

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )

  Alt 31. Aug 2006, 22:15
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]
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#23

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )

  Alt 31. Aug 2006, 22:34
Hallo,

danke für deine Bemühungen, Khabarakh. Die Lib namens "gdiplus" gibts bei torry, hier: http://www.torry.net/quicksearchd.ph...plus&Title=Yes

Mein Code:

Delphi-Quellcode:
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;
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).
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#24

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )

  Alt 31. Aug 2006, 22:55
(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 .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#25

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )

  Alt 31. Aug 2006, 22:59
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.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#26

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )

  Alt 31. Aug 2006, 23:10
[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:
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.
Tja, im (nicht OLE-, soweit ich das verstanden habe) Clipboard liegt leider nur ein Handle, und ein einzelner 32Bit-Wert kann nun wirklich alles sein .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#27

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )

  Alt 1. Sep 2006, 11:27
Ok... werd mir das mal ansehen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz