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.


Anmelden zum Antworten