Bildgröße vorgeben und speichern
-
Hallo!
Es sollte gerne ein BMP-Bild geladen werden, und dies in einer Größe von 100x100 Pixel als JPG-Bild gespeichert werden (und zwar "gestretched")
Folgenden Code habe ich jetzt:
Graphics::TBitmap* bmp = new Graphics::TBitmap; TJPEGImage* jpg = new TJPEGImage; bmp->LoadFromFile("C:\\beispiel.bmp"); bmp->Height = 100; bmp->Width = 100; jpg->Assign(bmp); jpg->SaveToFile("C:\\beispiel1.jpg"); delete jpg; delete bmp;
Dies funktioniert "fast" so, wie ich das möchte: Es wird das BMP-Bild problemlos als jpg gespeichert - auch die Größe von 100x100 Pixel stimmt - NUR wird das Bild nicht auf diese 100x100 Pixel gestretcht.
Es wird immer der mittlere Ausschnitt von 100 mal 100 Pixel verwendet.Eine Eigenschaft wie bmp->Stretch = True gibts leider nicht
Hat jemand einen Lösungsvorschlag? Würde mich sehr freuen!
tschüss
Robert
-
Du brauchst ein zweites Bitmap (100x100) auf dessen Canvas du dann mittels stretchdraw das bmp kopierst (von der quelle die Maaße NICHT ändern).
dieses dann als jpeg speichern.
-
jpg->StretchDraw(jpg->ClientRect,bmp);
-
Original erstellt von <Omega-X>:
jpg->StretchDraw(jpg->ClientRect,bmp);Wenn du jemandem helfen willst, Omega, dann schreib bitte lieber nichts als so einen Blödsinn!!
-
Hallo!
Vielen besten Dank!! Funktioniert!!
tschüss
Robert
-
*Iiii*, das is ja schon peinlich.
Wenn es schon so schlimm geworden ist, sollte man aufhören.
jpg->Canvas->StretchDraw(jpg->ClientRect,bmp);
Vorher jpg auf die Größe von bmp bringen.
-
Original erstellt von <Omega-X>:
jpg->Canvas->StretchDraw(jpg->ClientRect,bmp);Wenn du jemandem helfen willst, Omega, dann schreib bitte lieber nichts anstatt so einen Blödsinn!!