Drucker druckt leere Seiten



  • Ich habe ein kleines Grafikprogramm gemacht und kann die Grafik ausdrucken lassen. Bei mir und einem Kumpel klappt alles super mit dem drucken, aber ein anderer erhält nur weisse Seiten ausgedruckt und wenn er anschliessend etwas anderes, aus einem anderem Programm, drucken möchte, bekommt er so Smileys und andere komische Zeichen. Ansonsten kann er jedoch ohne Probleme aus anderen Programmen drucken. Das Problem scheint nur bei meinem Programm zu bestehen und er hat es an 2 Rechnern probiert.

    Jemand eine Ahnung woran dies liegen könnte? Dies ist mein Druckercode.

    TPrinter *Prntr = Printer();
    Prntr->Orientation = (prnt_orientation==poPortrait) ? poPortrait : poLandscape;
    Prntr->BeginDoc();
    Prntr->Title = Drucktitel;

    SetMapMode(Prntr->Canvas->Handle, MM_LOMETRIC); //Umstellen auf 1/10 mm

    //Blattgröße in 1/10 mm ermitteln:
    int breite = GetDeviceCaps(Prntr->Canvas->Handle, HORZSIZE) * 10;
    int hoehe = GetDeviceCaps(Prntr->Canvas->Handle, VERTSIZE) * 10;

    int bwidth = image->Width;
    int bheight = image->Height;

    int stretchX,stretchY,randL,randO;
    TRect rect;

    if (prnt_orientation==poPortrait)
    {
    stretchX = bwidth * StrToInt(TeSEdit5->Text) / 100;
    stretchY = bheight * StrToInt(TeSEdit6->Text) / 100;
    randL = TeSEdit1->Text * 10;
    randO = (hoehe - stretchY) / 2;
    rect = Rect(randL, -randO, randL + stretchX, -randO + -stretchY);
    }
    else
    {
    stretchX = bwidth * StrToInt(TeSEdit6->Text) / 100;
    stretchY = bheight * StrToInt(TeSEdit5->Text) / 100;
    randO = TeSEdit1->Text * 10;
    randL = (breite - stretchX) / 2;
    rect = Rect(randL, -randO, randL + stretchX, -randO + -stretchY);
    }

    Prntr->Canvas->StretchDraw(rect, image->Picture->Bitmap);

    Prntr->EndDoc();



  • Einige Druckertreiber haben Probleme mit StretchDraw
    deshalb wird meist empfohlen StretchDIBits zu verwenden.



  • Danke für den Hinweis! Hab mich schon ziemlich gewundert. Das ja echt ein Kreuz.


Anmelden zum Antworten