Page 1 of 1

Need to know current printer PPI

PostPosted: July 1st, 2011, 12:44 pm
by GfxBro
How to get printer PPI? I'm using TPrintPreview. I know how to get vert/hor DPI, but don't know how to PPI?

Re: Need to know current printer PPI

PostPosted: July 1st, 2011, 11:53 pm
by Kambiz
Does PPI stand for pixels per inch?

Re: Need to know current printer PPI

PostPosted: July 2nd, 2011, 7:32 am
by GfxBro
Yes, pixels per inch or pixel density. I checked formula here:

http://en.wikipedia.org/wiki/Pixel_density

and wrote this:

Code: Select all
  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;


but looks to be wrong :(

Re: Need to know current printer PPI

PostPosted: July 2nd, 2011, 10:41 am
by Kambiz
DPI and PPI are synonyms.

PrintPreview works independent of printer's resolution.