AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Bitmap wird verkehrtherum gedruckt - manchmal
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmap wird verkehrtherum gedruckt - manchmal

Ein Thema von Luckie · begonnen am 26. Apr 2006 · letzter Beitrag vom 26. Apr 2006
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Bitmap wird verkehrtherum gedruckt - manchmal

  Alt 26. Apr 2006, 08:35
Ich gebe ein Bitmap auf den Drucker mit
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?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Bitmap wird verkehrtherum gedruckt - manchmal

  Alt 26. Apr 2006, 10:02
Hi,

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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Bitmap wird verkehrtherum gedruckt - manchmal

  Alt 26. Apr 2006, 10:11
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?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#4

Re: Bitmap wird verkehrtherum gedruckt - manchmal

  Alt 26. Apr 2006, 11:41
testen, ob dieses bei anderen Druckern/PCs auch passiert und wenn ja, dann einfach selber verkehrtherum zeichen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Bitmap wird verkehrtherum gedruckt - manchmal

  Alt 26. Apr 2006, 12:03
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

Re: Bitmap wird verkehrtherum gedruckt - manchmal

  Alt 26. Apr 2006, 12:18
Das mit dem auf dem Kopf stehenden Bild ist schon richtig du must das Bild vor dem Drucken drehen
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Bitmap wird verkehrtherum gedruckt - manchmal

  Alt 26. Apr 2006, 12:20
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Bitmap wird verkehrtherum gedruckt - manchmal

  Alt 26. Apr 2006, 12:34
@franktron: Drehen ist hier nicht das richtige sondern spiegeln. Denn nicht Links-Rechts ist vertauscht, sondern Y nimmt nach unten ab.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz