Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Dpi --> ppi (https://www.delphipraxis.net/161380-dpi-ppi.html)

WojTec 30. Jun 2011 19:06

Dpi --> ppi
 
How to compute selected printer PPI if I know DPI?

Delphi-Quellcode:
GetDeviceCaps(Printer.Handle, LOGPIXELSY)
I checked what is PPI and don't understand. Need diagonal resolution in inches and size (w/h) of what - paper?, image?

himitsu 30. Jun 2011 19:17

AW: Dpi --> ppi
 
MSDN-Library durchsuchenGetDeviceCaps

Zitat:

Zitat von LOGPIXELSX
Number of pixels per logical inch along the screen printer width

printer = printhead = paper

WojTec 1. Jul 2011 11:29

Re: Dpi --> ppi
 
I don't know :cry: I have this and don't have idea how to compute it :(

Delphi-Quellcode:
var
  dp, ppi: Int32;
  di: Int32;
begin
  ShowMessage(Format('%dx%d'#13#10'%dx%d'#13#10'%dx%d'#13#10'%dx%d', [
    PrintPreview1.PageSize.X, PrintPreview1.PageSize.Y,
    PrintPreview1.PageDevicePixels.X, PrintPreview1.PageDevicePixels.Y,
    PrintPreview1.PageLogicalPixels.X, PrintPreview1.PageLogicalPixels.Y,
    Printer.PageWidth, Printer.PageHeight
  ]));

  dp := Round(Sqrt(Sqr(PrintPreview1.PageDevicePixels.X) + Sqr(PrintPreview1.PageDevicePixels.Y)));
  di := Round(Sqrt(Sqr(PrintPreview1.PageDevicePixels.X div GetDeviceCaps(PrintPreview1.Printer.Handle, LOGPIXELSX)) + Sqr(PrintPreview1.PageDevicePixels.Y div GetDeviceCaps(PrintPreview1.Printer.Handle, LOGPIXELSY))));
  ppi := dp div di;
  ShowMessage(IntToStr(dp div (dp div 96)));
end;


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