2012-04-04 68 views
5

Ich verwende eine TImage-Komponente, um einige PNG-Bilder zu laden, aber einige von ihnen haben die .imp Erweiterung. Ich füge die Vcl.Imaging.pngimage Einheit zu meinem Code und ich bin mit diesem Code die BilderWie kann ich ein Png-Bild aus einer Datei mit einer anderen Erweiterung laden?

if OpenDialog1.Execute then 
    Image1.Picture.LoadFromFile(OpenDialog1.FileName); 

Aber zu laden, wenn die Loadfrom Verfahren wird eine Ausnahme ausgeführt wird

angehoben

Unbekannt Bilddateierweiterung (.imp)

diese Bilder (.imp) sind png-Dateien von einem extenal App erzeugt und in einem schreibgeschützten Ordner, so umbenennen diese Dateien ist keine Option, die Frage ist, wie ich kann Laden Sie ein Png-Bild in einer TImage-Komponente aus einer Datei mit einer anderen Erweiterung?

+2

Last es zu einem Strom und dann aus, dass das Bild laden –

Antwort

14

Sie das Dateiformat registrieren, müssen Sie zuerst die TPicture.RegisterFileFormat Methode

dies mit Versuchen

TPicture.RegisterFileFormat('imp','imp (png) image file',TPngImage);