Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Was kann Paint, was ich nicht kann? ( Clipboard pasten ) (https://www.delphipraxis.net/71585-kann-paint-ich-nicht-kann-clipboard-pasten.html)

Garfield 18. Jun 2006 10:11

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
 
Vielleicht hilft dies: http://www.swissdelphicenter.ch/de/showcode.php?id=1981

Elvis 18. Jun 2006 11:23

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
 
Hast du neben deiner 2005PE nch eine "richtige" SKU einer früheren Delphi Version?
Wenn ja würde ich das ganz mal durch die VCL Sourcen debuggen. Irgendwo wird dir schon der nay-sayer äh nil-pointer begegnen.

SirThornberry 18. Jun 2006 11:59

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
 
Ich vermute es liegt schlicht weg an dem Bitmapformat. Ich hab ein Programm das unter windows95 pefekt funktionierte. Wenn ich im Windows einen Screenshot mache und diesen einfügen will knallts und das Programm ist zu. Wenn ich den Screenshot ist in Paint einfüge, und von dort aus erneut in die Zwischenablage kopiere dann klappt es da Paint vermutlich das unkomprimierte Format in die Zwischenablage legt.

DGL-luke 18. Jun 2006 12:02

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
 
@Elvis: Sorry, bin da nicht so bestückt... ich werd aber heute noch die D2006 Pro SSL bestellen.
(D3 Professional hab ich noch...)
(btw: SKU?)

@Muetze1: Ich hab aber keine Ahnung, wo die AV herkommt. Die Breakpoints wollen nämlich irgendwie nicht, deshalb auch das showmessage-zeugs. Ich poste hier noch mal die komplette routine:

Delphi-Quellcode:
procedure TFMain.SBPasteClick(Sender: TObject);
var pic: TPicture;
    b: TBitmap;
    h: HBITMAP;
begin
  pic := TPicture.Create;
  b := TBitmap.Create;

 if Clipboard.HasFormat(CF_BITMAP) then
    begin
      Showmessage('CF_BITMAP');
      h := Clipboard.GetAsHandle(CF_BITMAP);
      b.Handle := h; // Ich glaube, die AV kommt hier. Eventuell muss man dem bitmap ja noch sagen, es soll ein WinAPI-Handle jetzt bekommen?!
    end
  else
   Exit;

  LoadImage(pic);
  pic.Free;
end;
@SirT: Ja, vermute ich auch... allerdings funktionierts mit einem Windows-Screenshot.

DGL-luke 30. Aug 2006 20:33

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
 
ich pushe hier nochmal... :cry:

Neutral General 30. Aug 2006 20:49

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
 
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var pic: TPicture;
    h: HBITMAP;
begin
  pic := TPicture.Create;

  if Clipboard.HasFormat(CF_BITMAP) then
    begin
      h := Clipboard.GetAsHandle(CF_BITMAP);
      Pic.Bitmap.LoadFromClipboardFormat(CF_BITMAP,h,CF_PALETTE);
    end
  else
   Exit;

  Image1.Picture := Pic;
  pic.Free;
end;
Also DAS funktioniert bei mir!

Gruß
Neutral General

3_of_8 30. Aug 2006 20:58

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
 
Ich weiß nur, dass die Fehlermeldung immer dann kommt, wenn man versucht, eine jpeg Datei zu öffnen für die Delphis JPEG Unit zu dummdie Delphis JPEG Unit nicht unterstützt. Da hilft dann immer mit GIMP öffnen und neu abspeichern.

DGL-luke 30. Aug 2006 22:22

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
 
@Neutral General: Auch wenn du die Zwischenablage mit GIMP füllst?

Bei mir nicht....

@all: Wie würde man denn das auf reiner WinAPI-Basis machen?

DGL-luke 31. Aug 2006 13:39

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
 
Hmm... hab eine GDI+-Kapselung im Internet gefunden. Und die kanns auch nicht.

franktron 31. Aug 2006 14:03

Re: Was kann Paint, was ich nicht kann? ( Clipboard pasten )
 
Sgat mal kann das sein das Gimp ein OS2 BMP erzeugt hat ???? und kein Windows BMP,
wiel Paint kann komischerweise OS2 BMP.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr.
Seite 2 von 3     12 3      

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