AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bild (TImage) drucken
Thema durchsuchen
Ansicht
Themen-Optionen

Bild (TImage) drucken

Ein Thema von Andreas L. · begonnen am 14. Jul 2012 · letzter Beitrag vom 14. Jul 2012
Antwort Antwort
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#1

Bild (TImage) drucken

  Alt 14. Jul 2012, 17:44
Hallo,

mit folgendem Code möchte ich ein TImage ausdrucken:

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
  ScaleX, ScaleY: Integer;
  RR: TRect;
begin
  Printer.BeginDoc;
  try
    ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch;
    ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch;
    RR := Rect(0, 0, Image1.picture.Width * scaleX, Image1.Picture.Height * ScaleY);
    Printer.Canvas.StretchDraw(RR, Image1.Picture.Graphic); // Picture.Bitmap habe ich es auch schon versucht
  finally
    Printer.EndDoc;
  end;
end;
Der Drucker reagiert, zieht ein Papier ein und schiebt es beim Ausgabe schlitz raus. Darauf ist nichts gedruckt. Wie kann ich das Bild drucken?

Drucker: Canon Pixma ip4300 - Andere Anwendung können problemlos drucken
OS: Windows Vista SP 2 + alle Hotfixes
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Bild (TImage) drucken

  Alt 14. Jul 2012, 17:51
Hast Du mal ScaleX/Y "debuggt"
GetDeviceCaps sollte mit Printer.Handle aufgrufen werden

Image1.Picture.Graphic auf das Form.Canvas wird dargestellt?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Bild (TImage) drucken

  Alt 14. Jul 2012, 17:59
Printer.Handle war die Lösung. Danke Bummi

Delphi-Quellcode:
    ScaleX := GetDeviceCaps(Printer.Handle, logPixelsX) div PixelsPerInch;
    ScaleY := GetDeviceCaps(Printer.Handle, logPixelsY) div PixelsPerInch;
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Bild (TImage) drucken

  Alt 14. Jul 2012, 21:55
Jupp, erstmal das falsche Handle (du verwendest das der Form)

Hast Du mal ScaleX/Y "debuggt"
Ja, das solltest du mal machen ... Tipp, wie wäre es mit / und einem Double?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (14. Jul 2012 um 22:02 Uhr)
  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 21:34 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