Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Image drucken (https://www.delphipraxis.net/41592-image-drucken.html)

MCXSC 5. Mär 2005 16:43


Image drucken
 
Hallo!

Wie kann ich ein JPEG-Bild, dass in einer TImage-Komponente gespeichert ist, mit BESTIMMTEN Pixel drucken?

Ich habe zwar einen einfachen Code, aber der druckt das Bild nur in Originalgröße, eine BESTMMTE Pixelgröße für Höhe und Breite festzulegen st nicht möglich.

Kann jemand helfen?

MCXSC

Luckie 5. Mär 2005 16:49

Re: Image drucken
 
Kopier den Canvas mit StrechtBlt auf den Canvas des Druckers.

MCXSC 5. Mär 2005 16:55

Re: Image drucken
 
StrechtBlt??? :-(

Hast du vielleicht einen Beispielcode? :-(

Khabarakh 5. Mär 2005 18:14

Re: Image drucken
 
StretchBlt - MSDN

Falls es unklar ist: Als HDC musst du jeweils ?.Canvas.Handle übergeben.
Beispiel:
Delphi-Quellcode:
StretchBlt(Image2.Canvas.Handle,0,0,100,100,Image1.Canvas.Handle,0,0,200,200,SRCCOPY);

master_chief2 2. Nov 2005 14:55

Re: Image drucken
 
Ich hab hier mal einen Code, um einen Imageinhalt genau auf die Hälfte eines Blattes zu drucken. Die Verhältnisse zwischen den einzelnen Seiten stimmen auch genau mit dem des Originals überein! (Ausgabe ist in diesem speziellen Fall das Image!) :coder2:

Delphi-Quellcode:
procedure drucken;
var a: Trect;
    h,b:integer;
    v:real;
begin
 h:=Ausgabe.Height;
 b:=Ausgabe.Width;
 v:=h /b;

 Printer.BeginDoc;                                                  //Druckauftrag starten
  With Printer.Canvas do
   begin
    a:=Bounds(0, 0, Printer.PageWidth, trunc(Printer.PageWidth*v)); //generiert ein Rechteck mit einem punkt links oben und einem rechts unten
    StretchDraw(a, Ausgabe.Picture.Bitmap);                         //zieht den Imageinhalt auf, sodass er in das Rechteck (a) passt
   end;
 Printer.EndDoc;                                                    //Druckauftrag beenden
end;

torud 27. Dez 2005 11:51

Re: Image drucken
 
Leider warf mir Dein Code auch nur ein Leeres Blatt am Printer aus...


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:53 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