Announcement

Collapse
No announcement yet.

Ausdruck eines Bildes mit dem Laserdrucker -> Schwarz?!?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ausdruck eines Bildes mit dem Laserdrucker -> Schwarz?!?

    Hallo.<br>
    Hier erst mal den Quelltext:<br><br>
    var bmp:TBitmap<br><br>
    begin<br><br>
    bmp := TBitmap.Create;<br>
    bmp.Height := Screen.Height;<br>
    bmp.Width := Screen.Width;<br>
    DCDesk := GetWindowDC(GetDesktopWindow);<br>
    BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DCDesk, 0, 0, SRCCOPY); <br>
    form2.QRImage1.Picture.Bitmap:=bmp;<br>
    ReleaseDC(GetDesktopWindow, DCDesk);<br>
    bmp.free; <br>
    form2.QuickRep1.Print;<br>
    end;<br>
    <br>
    Ich kopiere den momentanen Bildschirminhalt mit der API-Funktion BitBlt in ein Bitmap. Bei Ausdruck dieses Bildes mit dem Tintenstrahldrucker funktioniert das wunderbar. Beim Ausdruck mit einem HP Laserjet 1200 auch. Aber bei HP5000 bleibt das Bild komplett schwarz und der Konica
    IP421 druckt das Bild spiegelverkehrt. An was liegt das?

    Vielen Dank im Vorraus,

    Alexander Lohnes

  • #2
    Hallo,

    wenn das gleiche Programm auf verschiedenen Druckern zu völlig unterschiedlichen Ergebnissen führt, kann das nur an bestimmten Eigenheiten der Druckertreiber liegen. Nicht alle Treiber unterstützen alle vom Win32-API unterstützten Wege gleich gut, so dass das eigene Programm die auszudruckenden Daten ggf. vorher je nach vorgefundenen Drucker (Treiber) entsprechend aufbereiten muss

    Comment


    • #3
      Probier mal vor dem ..Picture.Assign(BMP): <br>

      <pre>

      BMP.PixelFormat := pf24bit;
      BMP.HandleType := bmDIB;

      </pre>

      Gruß Hage

      Comment

      Working...
      X