JPG Bild laden, größe ändern und ausdrucken
-
Hallo,
ich möche ein JPG Bild laden, anschließend die größe ändern und dann ausdrucken. Ich mache dieses wie folgt:
TJPEGImage *JPEGImage = new TJPEGImage;
Graphics::TBitmap *bmp = new Graphics::TBitmap();
.
JPEGImage->LoadFromFile("C:\Bild.jpg");
.
bmp->Width = 800;
bmp->Height = 600;
TRect rect(0,0,800,600);
bmp->Canvas->StretchDraw(rect,JPEGImage);
JPEGImage->Assign(bmp);
Printer()->Canvas->Draw(100,100,JPEGImage);Bei dem entstehenden Ausdruck wird nichts gedruckt.
Wer kann helfen.
-
Du solltest nochmal Schritt für Schritt Deinen Quellcode durchgehen und überlegen, was da überhaupt gemacht wird. Besonders bei:
**
JPEGImage->Assign(bmp);**
solltest Du nochmal genau hingucken.
Ansonsten gibts auf meiner Seite Anregungen zum Thema "Drucken" und "JPEGs laden".
-
if (PrintDialog1->Execute()) { int CurPrinter; PrintDialog1->Name; TPrinter* prn = Printer(); TRect PrinterRect; PrinterRect = Rect(0,0,prn->PageWidth, prn->PageHeight); double x, y; x = (double) PrinterRect.Right / (double) BitmapShow->Width; y = (double) PrinterRect.Bottom / (double) BitmapShow->Height; if (x != y) PrinterRect.Bottom = (PrinterRect.Bottom / y) * x; prn->Title = "irgendwas Drucken"; prn->BeginDoc(); prn->Canvas->StretchDraw(PrinterRect, BitmapShow); prn->EndDoc(); }Ich hab' das allerdings aus einer größeren Routine zusammengestöpselt, die auch noch die Druckerausrichtung anpaßt, wenn also was fehlt...
Aber als Anhaltspunkt sollte es reichen.