![]() |
Raw-Bilder anzeigen
Ich möchte gern RAW-Bilder anzeigen und bearbeiten. Seit Delphi 10 soll das möglich sein, wenn man das Format registriert. Ich arbeite mit Delphi XE (Win 7), aber es funktioniert nicht (CR2-Dateien von Canon EOS 550d, auch nach Umwandlung in DNG-Datei - wohl aber mit bmp-, jpg-, tif-, gif- und png-Bildern). Ich bekomme die Meldung 'ungültiges Bild' :pale: Irfanview kann die Bilder öffnen. Muss ich noch weitere Deklarationen einfügen? Hier mein Programm - Danke für jede Hilfe, Theseus
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtDlgs, ExtCtrls, pngimage, jpeg, gifimg; type TForm1 = class(TForm) Image1: TImage; Button1: TButton; OpenDialog1: TOpenDialog; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.execute then begin if pos('.CR2', uppercase(openDialog1.FileName)) > 0 then Image1.Picture.RegisterFileFormat('CR2','CR2 Format',TWICImage) else if pos('.DNG', uppercase(openDialog1.FileName)) > 0 then Image1.Picture.RegisterFileFormat('DNG','DNG Format',TWICImage); // for bmp, jpg, gif, tif, png do nothing but simply Image1.Picture.LoadFromFile(openDialog1.FileName); end; end; end. |
AW: Raw-Bilder anzeigen
Zitat:
Die Frage ist aber, ob TWICImage überhaupt dieses Format kennt. Bildformate mit diese Dateiendung müssen schon von der angegebenen TGrafic-Komponente unterstützt werden, damit es funktioniert. :angle2: Und standardmäßig sieht es IMHO erstmal nicht danach aus.
Delphi-Quellcode:
{ TWICImage encapsulates the Microsoft Windows Imaging Component, allowing
loading image formats that have been registered through WIC. Supports: BMP, GIF, ICO, JPEG, PNG, TIFF, and Windows Media Photo. Requires Windows XP SP2 with .NET 3.0.} TWICImageFormat = (wifBmp, wifPng, wifJpeg, wifGif, wifTiff, wifWMPhoto, wifOther); Es reicht übrigens aus, sowas nur einmal zu registrieren ... vorzugsweise bei Programmstart (z.B. in OnCreate der Form)
Delphi-Quellcode:
Und dann kann man dieses auch im
TPicture.RegisterFileFormat('CR2', 'CR2 Format', T...);
TPicture.RegisterFileFormat('DNG', 'DNG Format', T...); ![]() PS: Bitte mach noch die [DELPHI]-Tags um deinen Quellcode drum. |
AW: Raw-Bilder anzeigen
Vielen Dank für die Antwort!
Den Hinweis auf die Möglichkeit RAW-Bilder zu öffnen hatte ich aus einem Blog von 2009 ![]() Zitat:
Dank und besten Gruß, Theseus |
AW: Raw-Bilder anzeigen
Zitat:
Zitat:
Zitat:
Ob diese Klasse wirklich das Dateiformat hinter der Extension versteht wird erst klar wenn man eine entsprechende Datei läd. |
AW: Raw-Bilder anzeigen
Feststellen kann man es ganz einfach.
Du nimmst die Bildkommponente erstmal direkt und versuchst ein Bild reinsuladen. Zum Test kannst du dieses dann via ![]() |
AW: Raw-Bilder anzeigen
Vielen Dank für die Hilfe - jetzt habe ich eine Teillösung gefunden:
Die Tatsache, dass ich mit Irfanview sowohl DNG- als auch CR2-Bilder öffnen konnte, hatte mich zu der irrigen Annahme verleitet, die erforderlichen Codecs wären auf meinem System bereits verfügbar. Nun habe ich mir von Adobe das DNG-Codec heruntergeladen und kann jetzt DNG-Dateien laden. Mit CR2 ging es leider nicht so, da das bei Canon verfügbare Codec nicht auf 64-Bit Systemen läuft :( |
AW: Raw-Bilder anzeigen
Es gibt einen kostenplichtigen CR2-Codec für Windows 7 64-Bit:
![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 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-2025 by Thomas Breitkreuz