Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bestimmung mit GetDeviceCaps die Höhe in Pixeln (https://www.delphipraxis.net/116774-bestimmung-mit-getdevicecaps-die-hoehe-pixeln.html)

punker-lili 6. Jul 2008 08:51


Bestimmung mit GetDeviceCaps die Höhe in Pixeln
 
Hiho.. ich hab folgende Prozedure geshcrieben, damit ich Bilder ausdrucken kann. Leider gibt mir GetDeviceCaps(Printer.Handle,VERTRES) bloß die Spaltenanzahl zurück.. ich bräuchte aberdie Pixel... wie kann ich das ändern?

Delphi-Quellcode:
Procedure DruckPos(iLeft, iTop: integer; Graphic: TGraphic);
var i,breite,hoehe,zoom,start:integer;
begin
//Änderung Breite
  breite := GetDeviceCaps(Printer.Handle, HORZRES);//Bestimmung Blattbreite in Pixel
  zoom:=breite div graphic.Width;
  if zoom = 0 then
   begin
    printer.Orientation:=polandscape;
    breite := GetDeviceCaps(Printer.Handle, HORZRES);//Bestimmung Blattbreite in Pixel
    zoom:= breite div graphic.Width;
    //Meldung abgeben an Benutzer
   end;
//Änderung Höhe
  hoehe:=GetDeviceCaps(Printer.Handle,VERTRES);
    for i:=0 to (graphic.Height div hoehe) do
     begin
      start:= itop+i*GetDeviceCaps(Printer.Handle,VERTRES);
      SetWindowOrgEx(Printer.Handle,iLeft,start,nil);
      Printer.BeginDoc;
      SetMapMode(Printer.Canvas.Handle, MM_ISOTROPIC);
      SetWindowExtEx(Printer.Canvas.Handle, 1, 1, nil);
      SetViewportExtEx(Printer.Canvas.Handle, Zoom, Zoom, nil);
      Printer.Canvas.Draw(iLeft, iTop, Graphic);
      Printer.EndDoc;
     end;
end;

MfG Anna

[edit=Matze][delphi]-Tags eingefügt. Zukünftig bitte selbst daran denken. MfG, Matze[/edit]


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