![]() |
JPEG Datei in NonVCL Prog laden
Hallo und guten Morgen!
Ich suche für meine NonVCL Programme eine Möglichkeit, JPEG Bilder aus einer Datei laden zu können. Lässt sich das eventuell irgendwie mit Windows Bordmitteln bewerkstelligen? COM oder ne DLL, die ich anzapfen kann? Eine Delphi-Unit, die keine VCL Units nutzt, wäre auch genehm. Brauche nix weiter als das Handle auf ne Bitmap. Speichern ist nicht nötig. Vielen Dank schon mal und Gruss an alle OLLI |
Re: JPEG Datei in NonVCL Prog laden
Kuckst du hier:
![]() |
Re: JPEG Datei in NonVCL Prog laden
Danke Luckie!
Das Material von Assa hab ich schon gesichtet. Leider kann ich damit nur PNG speichern aber nicht laden. :cry: Tschau |
Re: JPEG Datei in NonVCL Prog laden
|
Re: JPEG Datei in NonVCL Prog laden
Hey Luckie! :thuimb:
Das sieht toll und recht einfach aus, was Du da gesichtet hast. Ich geh jetzt in die Wanne und dann versuch ich den Spass mal nach Delphi zu übersetzen. Oder sitzt Du etwa schon dran? Also vielen Dank und ich wünsch Dir ein extra schönes WE Und ... keep on pumping! :wink: OLLI |
Re: JPEG Datei in NonVCL Prog laden
Hilfääääääää!
Jetzt hab ich den Code soweit fertig und es scheitert an ner Kleinigkeit. Hab Delphi 5 und bei mir ist die Interface-ID IID_IPicture noch nicht deklariert. Kann bitte bitte jemand in der Unit Active-X nachschauen und mir die Zeile posten! Das wäre total nett. Vielen dank schon mal OLLI |
Re: JPEG Datei in NonVCL Prog laden
Hallo OLLI,
ich hoffe, dass ist, was du benötigst:
Delphi-Quellcode:
IID_IPicture: TGUID = '{000208A6-0001-0000-C000-000000000046}';
|
Re: JPEG Datei in NonVCL Prog laden
Zitat:
Zitat:
|
Re: JPEG Datei in NonVCL Prog laden
HY Choose!
Mit Deinem Wert klappt es nicht. Habe im Netz der Netz diese Lottozahlen gefunden:
Delphi-Quellcode:
Und was soll ich sagen ... ICH KANN JPEG´s LADEN!!!! Läuft wie geschmiert. Hier die offenen Delphi-Sossen:
IID_IPicture : TGUID = '{7BF80980-BF32-101A-8BBB-00AA00300CAB}';
Delphi-Quellcode:
Gute N8 und noch mal DANKE an Luckie
Var
pPicture:IPicture; Function LoadPicture(AFile: String):Boolean; Var hFile,hMem:THandle; dwFileSize,dwBytesRead:DWord; pData:Pointer; bRead:Boolean; hRes:HResult; pStream:IStream; Begin // open file Result:=FALSE; hFile:=CreateFile(PChar(AFile),GENERIC_READ,0,NIL,OPEN_EXISTING,0,0); if (hFile = INVALID_HANDLE_VALUE) Then Exit; // get file size dwFileSize:=GetFileSize(hFile,NIL); If (dwFileSize = -1) Then Exit; // get memory objekt hMem:=GlobalAlloc(GMEM_MOVEABLE Or GMEM_NODISCARD, dwFileSize); If(hMem = 0) Then Exit; pData := GlobalLock(hMem); If (pData = NIL) Then Exit; bRead:=ReadFile(hFile, pData^ , dwFileSize, dwBytesRead, NIL); CloseHandle(hFile); GlobalUnlock(hMem); If Not(bRead) Then Exit; // create IStream from global memory pStream:=NIL; hRes:=CreateStreamOnHGlobal(hMem, TRUE, pStream); If FAILED(hRes) Or (pStream = NIL) Then exit; // Create IPicture from image file hRes := OleLoadPicture(pStream, dwFileSize, FALSE, IID_IPicture, pPicture); If (hRes=S_OK) And (pPicture <> NIL) Then Result:=TRUE; pStream := NIL; End; OLLI |
Re: JPEG Datei in NonVCL Prog laden
Schön. Und wo wird es hingeladen? Wie kann man es jetzt darstellen? Schön wäre es, wenn ich ein HBITMAP rausbekäme, welches ich dann in ein Static oder so anzeigen könnte.
Und die vielen Exits gefallen mir nicht. Ich mache da über das WE mal etwas. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 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