Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Format der Zwischenablage..... Brauche Hilfe bitte.... (https://www.delphipraxis.net/96509-format-der-zwischenablage-brauche-hilfe-bitte.html)

hedie 25. Jul 2007 18:22


Format der Zwischenablage..... Brauche Hilfe bitte....
 
Hallo

Ich versuche nun schon seit ein paar Stunden, ein Bild das von einer Webcam auf einem Panel liegt
mit diesem Code zu Speichern bzw. in ein Image zu kriegen


Delphi-Quellcode:
SendMessage(Handle, WM_CAP_EDIT_COPY, 1, 0 );
Image1.Picture.Bitmap.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
Ich bekomme jedoch leider immer die meldung Format der Zwischenablage nicht unterstützt

Die Clipbrd hab ich den Uses hinzugefügt und auch die Webcam funktioniert soweit ganz gut

Ich blick da einfach nicht mehr durch.....



Liebe grüsse
Claudio

DeddyH 25. Jul 2007 18:47

Re: Format der Zwischenablage..... Brauche Hilfe bitte....
 
Bist Du sicher, dass die Webcam die Bilder als Bitmap und nicht als JPEG bereitstellt? Sonst wäre noch eine Formatumwandelung notwendig.

hedie 25. Jul 2007 18:48

Re: Format der Zwischenablage..... Brauche Hilfe bitte....
 
Nein bin mir nicht sicher....



EDIT------------------

Ok hab mal das hier versucht

Delphi-Quellcode:
procedure TForm2.Button7Click(Sender: TObject);
var
bild1:TJpegImage;
begin
SendMessage( Form2.Panel1.Handle, WM_CAP_EDIT_COPY, 1, 0 );
bild1 := TJpegImage.Create;
bild1.LoadFromClipboardFormat(cf_bitmap,ClipBoard.GetAsHandle(cf_bitmap),0);
bild1.SaveToFile('test.jpg');
end;
Leider ohne erfolg

Ich hab mir gedacht das ich das cf_bitmap in cf_jpeg ändern müsste, die geht jedoch nicht
da cf_jpeg ein undefinierter bezeichner ist.

FAlter 25. Jul 2007 19:11

Re: Format der Zwischenablage..... Brauche Hilfe bitte....
 
Hi,

schonmal mit
Code:
Image.Picture.Assign(Clipboard)
probiert? Das sollte am wenigsten Aufwand bereiten und bei allen unterstützten Grafik-Zwischenablagen-Formaten funktionieren.

Mfg
FAlter

turboPASCAL 25. Jul 2007 19:13

Re: Format der Zwischenablage..... Brauche Hilfe bitte....
 
Zitat:

Zitat von hedie
Ok hab mal das hier versucht

Delphi-Quellcode:
procedure TForm2.Button7Click(Sender: TObject);
var
  bild1:TJpegImage;
begin
  SendMessage( Form2.Panel1.Handle, WM_CAP_EDIT_COPY, 1, 0 );
  bild1 := TJpegImage.Create;
  bild1.LoadFromClipboardFormat(cf_bitmap,ClipBoard.GetAsHandle(cf_bitmap),0);
  bild1.SaveToFile('test.jpg');
  bild1.free; <---<<< !!!!!!
end;
Leider ohne Erfolg...

:gruebel:

Was das Bild zu speichern oder die Umwandlung zu JPEG oder wie?

Delphi-Quellcode:
{Pseudo/ nicht getested}
procedure TForm2.Button7Click(Sender: TObject);
var
  Bild: TPicture;
  jpeg: TJpegImage;
begin
  SendMessage(Form2.Panel1.Handle, WM_CAP_EDIT_COPY, 1, 0 );
  Bild := TPicture.Create;
  try
    Bild.Bitmap.LoadFromClipboardFormat(cf_bitmap,ClipBoard.GetAsHandle(cf_bitmap),0);

    jpeg:= TJpegImage.Create;
    jpeg.Assign(Bild);
    jpeg.SaveToFile('test.jpg');
    jpeg.free;
  finally
    bild.free;
  end;
end;

hedie 25. Jul 2007 19:16

Re: Format der Zwischenablage..... Brauche Hilfe bitte....
 
@FAlter

Danke hat aber leider nicht geklappt kommt die meldung

Ungültiges zwischenablagenformat




@turboPASCAL

Danke auch dir....

Hat leider auch nicht geklappt es kommt wieder die gleiche meldung wie zu beginn

Format der Zwischenablage nicht unterstützt

FAlter 25. Jul 2007 19:24

Re: Format der Zwischenablage..... Brauche Hilfe bitte....
 
Hi,

dann machs so...

Delphi-Quellcode:
FileName := ...; //Temporäre Bitmap-Datei
if SendMessage(Form2.Panel1.Handle, WM_CAP_FILE_SAVEDIB, 0, Integer(FileName)) <> 0 then
  Image1.Picture.LoadFromFile(FileName)
else
  //Fehlerbehandlung hier!
Mfg
FAlter

hedie 25. Jul 2007 23:20

Re: Format der Zwischenablage..... Brauche Hilfe bitte....
 
Nee

Damit passiert einfach nichts....


Ich weiss echt nicht woran das noch liegen kann....

hedie 26. Jul 2007 08:33

Re: Format der Zwischenablage..... Brauche Hilfe bitte....
 
Guten Morgen....


Hat jemand noch ne idee :D

Maddin1 26. Jan 2008 11:44

Re: Format der Zwischenablage..... Brauche Hilfe bitte....
 
Hab mal ebend ein bisschen rumexperimentiert:

Delphi-Quellcode:
bild1.Picture.Bitmap.Assign(clipboard);
ganz einfach und klappt^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 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