TImage->Picture->Bitmap nach Graphics::TBitmap übergeben
-
Hallo zusammen,
ich suche nach einer einfachen Möglichkeit, ein jpg in ein Bitmap (Graphics::TBitmap) zu laden.
Bisheriger Versuch
Ich lade ein .jpg in ein TImage, speichere es als .bmp und lade es anschließend nach Graphics::TBitmap .// jpg lesen Image3->Picture->LoadFromFile("c:\\test\\Beispiel.jpg"); // bmp schreiben Image3->Picture->SaveToFile("c:\\test\\Beispiel.bmp"); // das hier geht
Das Bild wird korrekt gespeichert, und kann über die Vorschau im Explorer angezeigt werden.
// bmp lesen Graphics::TBitmap *pBitmap = new Graphics::TBitmap(); pBitmap->LoadFromFile("c:\\test\\Beispiel.bmp"); // Fehlermeldung: Exception der Klasse EInvalidGraphic aufgetreten. Meldung: // 'Bitmap ist ungültig'.
Weiß jemand Rat?
Gruß
Leo
-
// jpg lesen Image3->Picture->LoadFromFile("c:\\test\\Beispiel.jpg"); // bmp schreiben Image3->Picture->SaveToFile("c:\\test\\Beispiel.bmp"); // das hier geht
Eben genau geht nicht, du hast lediglich den Dateinamen geändert, das ändert aber nicht den Typ von bmp -> jpg.
-
Hallo,
ich wollte das selbe vor kurzem auch machen und bin dabei auf diese Lösung gestoßen:
http://stackoverflow.com/questions/959160/load-jpg-gif-bitmap-and-convert-to-bitmap
TPicture* pPicture = new TPicture(); pPicture->LoadFromFile("c:\\test\\Beispiel.jpg"); Graphics::TBitmap* pBitmap = new Graphics::TBitmap(); pBitmap->Width = pPicture->Width; pBitmap->Height = pPicture->Height; pBitmap->Canvas->Draw(0, 0, pPicture->Graphic); pBitmap->SaveToFile("c:\\test\\Beispiel.bmp"); delete pPicture, pBitmap;
Gruß
Kerem
-
Hallo,
zum Laden von JPEGs gibt es die Klasse TJPEGImage.#include <jpeg.hpp> UnicodeString usFileName = "C:\\MyImage.JPG" Graphics::TBitmap *Bitmap = new Graphics::TBitmap; TJPEGImage *JPG = new TJPEGImage; JPG->LoadFromFile(usFileName); Bitmap->Assign(JPG); delete JPG; .... .... delete Bitmap;
-
Beide Varianten funktionieren prima, mille grazie!
Leo