Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Bitmap wird verkehrtherum gedruckt - manchmal (https://www.delphipraxis.net/68201-bitmap-wird-verkehrtherum-gedruckt-manchmal.html)

Luckie 26. Apr 2006 08:35


Bitmap wird verkehrtherum gedruckt - manchmal
 
Ich gebe ein Bitmap auf den Drucker mit
Delphi-Quellcode:
Printer.Canvas.Draw
... aus.

Jetzt habe ich aber festegestellt, dass auf den HP Laserjet im Büro alles stimmt. Nur bei mir zu Hause auf meinem Canon Tintenstrahldrucker wird das Bitmap verkehrtherum ausgedruckt. Drucke ich es mit PDF-Druckern ist es wieder richtig.

Der MapMode steht auf MM_LOMETRIC, so das positive y-Werte noch oben gehen, positive nach unten und der Ursprung oben links in der Ecke ist. Das habe ich aber in soweit schon berücksichtigt, als dass es an der richtigen Position erscheint.

Jetzt könnte ich es ja mit BitBlt drehen (Sollte zu mindest damit gehen), dann wäre es zwar auf meinem Drucker richtig, aber auf den anderen nicht.

Ich muss also entscheiden, wann ich es drehen muss und wann nicht. Die entscheidende Frage ist jetzt, ob es am Bitmap liegt oder am Drucker. Meines Wissens gibt es Bitmaps und zwar die im Bmp/OS2 Format die verkehrtrum im Speicher liegen und es gibt Bitmaps die irgendwie andersrum im Speicher liegen. Wenn dem so ist, wie kann ich diese Bitmaps unterscheiden? Oder wenn es am Drucktreiber liegt, wie bekomme ich raus, wie rum dieser Bitmaps druckt?

Der_Unwissende 26. Apr 2006 10:02

Re: Bitmap wird verkehrtherum gedruckt - manchmal
 
Hi,

Zitat:

Zitat von Luckie
Ich gebe ein Bitmap auf den Drucker mit
Meines Wissens gibt es Bitmaps und zwar die im Bmp/OS2 Format die verkehrtrum im Speicher liegen und es gibt Bitmaps die irgendwie andersrum im Speicher liegen.

Wenn ich richtig in der Annahme liege, dass du entweder mit dem TBitmap-Objekt oder einer DIB arbeitest, ist es egal. Da wird sich Windows beim Laden um die richtige Anordnung im Speicher kümmern (und die ist bei DIBs überlicherweise kopfüber im Speicher).
Soweit ich weiß, können auch alle Drucker gleich mit Bildern umgehen. Ich kenne dein Problem zwar, aber ebend nur wenn man das Bild mit BitBlt direkt auf den Canvas des Druckers schreibt. Mit dem Canvas.Draw hingegen ist mir das Problem neu. Hier Sorgte eigentlich immer der Druckertreiber dafür, dass die DIB richtig dargestellt wird (deshalb ist sie ja DI ;-) ).

Sollte also eigentlich gar nicht auftreten, liegt dann aber definitiv auch am Drucker

Gruß Der Unwissende

Luckie 26. Apr 2006 10:11

Re: Bitmap wird verkehrtherum gedruckt - manchmal
 
Zitat:

Zitat von Der_Unwissende
Sollte also eigentlich gar nicht auftreten, liegt dann aber definitiv auch am Drucker

Tut es aber leider. Und was mache ich jetzt? :gruebel:

himitsu 26. Apr 2006 11:41

Re: Bitmap wird verkehrtherum gedruckt - manchmal
 
testen, ob dieses bei anderen Druckern/PCs auch passiert und wenn ja, dann einfach selber verkehrtherum zeichen :roll:

Luckie 26. Apr 2006 12:03

Re: Bitmap wird verkehrtherum gedruckt - manchmal
 
Ich weiß nicht, was passiert ist, oder was ich geändert habe zwischen durch, aber der PDF-Drucker hat es jetzt auch auf einmal umgedreht. Jetzt drehe ich es von vorneherein um. Bis jetzt ging es gut mit dem HP Laserjet und dem PDF-Drucker hier im Büro. Bin mal gespannt, wie es zu Hause aussieht. :?

franktron 26. Apr 2006 12:18

Re: Bitmap wird verkehrtherum gedruckt - manchmal
 
Das mit dem auf dem Kopf stehenden Bild ist schon richtig du must das Bild vor dem Drucken drehen

Luckie 26. Apr 2006 12:20

Re: Bitmap wird verkehrtherum gedruckt - manchmal
 
Wenn ich doch nur den Drucker im anderen Büro bei mir einrichten könnte, dann könnte ich das ganze mal in Farbe drucken und gucken was der damit anstellt. :wall:

SirThornberry 26. Apr 2006 12:34

Re: Bitmap wird verkehrtherum gedruckt - manchmal
 
@franktron: Drehen ist hier nicht das richtige sondern spiegeln. Denn nicht Links-Rechts ist vertauscht, sondern Y nimmt nach unten ab.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz