AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi kurioses Problem: TBitmap drucken -> Lexmark druck nichts
Thema durchsuchen
Ansicht
Themen-Optionen

kurioses Problem: TBitmap drucken -> Lexmark druck nichts

Ein Thema von hugo1990 · begonnen am 23. Jul 2008 · letzter Beitrag vom 23. Jul 2008
Antwort Antwort
hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#1

kurioses Problem: TBitmap drucken -> Lexmark druck nichts

  Alt 23. Jul 2008, 11:44
Wenn ich mittels
  Printer.Canvas.Draw(0, 0, Bild); ein TBitmap drucken will druckt mein Drucker(Lexmark) nur ein weißes Blatt. Alle anderen Drucker im Haus drucken aber das Bild aus. Ich weiß aber, dass ich schon mal in einem anderen Programm ein TBitmap mit genau diesem Drucker aus gedruckt. Also habe ich ein wenig hin und her probiert und habe mal auf ein TImage ein Bild gelegt und das dann über
  Printer.Canvas.Draw(0, 0, Image1.Picture.Graphic); drucken lassen. Und siehe da er druckt es, sowie ich aber statt Graphic Bitmap nehme (ich habe auf das TImage auch eine bmp-Datei gelegt) druck er es nicht mehr.
Also dachte ich, vllt liegt es ja am Treiber, also habe ich den deinstalliert und noch einmal neu installiert und dann sogar noch den neusten aus dem Internet geladen und installiert, aber er druckt immer nur ein weißes Blatt.
Kennt jemand dieses Problem und/oder kann mir einen Tip geben, was ich noch probieren könnte?
  Mit Zitat antworten Zitat
hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: kurioses Problem: TBitmap drucken -> Lexmark druck ni

  Alt 23. Jul 2008, 15:15
OK ich hab jetzt eine Lösung gefunden. Und zwar speichere(da ich auf dem Canvas Veränderungen vorgenommen habe) ich das Bitmap vor dem Drucken und lade es dann neu, danach druckt er es ohne Probleme. Ist zwar keine schöne Lösung, aber wenigstens funktioniert es jetzt schon mal.
Vllt kennt ja jemand noch eine bessere Lösung und kann sie mir verraten.
  Mit Zitat antworten Zitat
hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: kurioses Problem: TBitmap drucken -> Lexmark druck ni

  Alt 23. Jul 2008, 16:05
OK Fehlalarm, im Testprogramm, wo ich nur mal schnell das Drucken getestet habe ging es mit der Variante Bild speichern und wieder laden, aber in dem Programm, wo ich es eigentlich brauche funktioniert es nicht. Ich gehe jetzt einfach mal davon aus, dass der Drucker kaputt ist - Lexmark is sowieso scheiße - und werde mir mal einen vernünftigen zulegen.
  Mit Zitat antworten Zitat
Benutzerbild von roga
roga

Registriert seit: 15. Jun 2008
Ort: Sachsen-Anhalt
109 Beiträge
 
Delphi XE8 Professional
 
#4

Re: kurioses Problem: TBitmap drucken -> Lexmark druck ni

  Alt 23. Jul 2008, 16:38
Hallo,

hatte auch mal ein ähnliches Problem, wo bei bestimmten Druckern nur ein weißen Blatt heraus kam. Habe dann irgendwo im Forum eine Lösung gefunden und entsprechend angepasst.

Delphi-Quellcode:
procedure PrintBitmap(aCanvas: TCanvas; Dest: TRect; Bitmap: TBitmap);
var Info: PBitmapInfo;
    InfoSize: DWord;
    Image: Pointer;
    ImageSize: DWord;
begin
  with Bitmap do
  begin
    GetDIBSizes(Handle, InfoSize, ImageSize);
    Info := AllocMem(InfoSize);
    try
      Image := AllocMem(ImageSize);
      try
        GetDIB(Handle, Palette, Info^, Image^);
        if not Monochrome then
          SetStretchBltMode(ACanvas.Handle, STRETCH_DELETESCANS);
        with Info^.bmiHeader do
          StretchDIBits(aCanvas.Handle, Dest.Left, Dest.Top,
            Dest.RIght - Dest.Left, Dest.Bottom - Dest.Top,
            0, 0, biWidth, biHeight, Image, Info^, DIB_RGB_COLORS, SRCCOPY);
      finally
        FreeMem(Image, ImageSize);
      end;
    finally
      FreeMem(Info, InfoSize);
    end;
  end;
end;
aCanvas ist die Drucker-Zeichenfläche, Dest die Seitengröße.

Sollte es immer noch nicht klappen, ist Dein Drucker entweder wirklich kaputt oder der Tank ist leer...

Gruß RoGa
Ronald
  Mit Zitat antworten Zitat
hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: kurioses Problem: TBitmap drucken -> Lexmark druck ni

  Alt 23. Jul 2008, 17:11
Also ich versteh die Welt nicht mehr, ich habe absolut überhaupt nichts am Quellcode geändert, nichts am Drucker, gar nichts, und auf einmal druckt er wieder was er soll.
  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 23:15 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