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 TOpenPictureDialog nutzen.
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 http://blogs.embarcadero.com/matthia...09/12/15/38566 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 TCanvas.Draw in ein TBitmap kopieren, abspeichern und nachsehn, ob das Bild noch da ist. |
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: http://www.ardfry.com/cr2-codec/ (19,95 $) oder http://www.fastpictureviewer.com/codecs/ (14,95 $). Ob es allerdings damit funktioniert, weiß ich nicht. Beide Codecs liegen aber als 15-Tage Trial vor, so kannst Du es einfach mal ausprobieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:36 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