Article ID: 127152 - Last Review: February 22, 2007 - Revision: 2.2 HOWTO: How to Make an Application Display Real Units of MeasurementThis article was previously published under Q127152 SUMMARY
Sometimes you need an application to display things in terms of a real unit
of measurement such as an inch or millimeter. When dealing with a printer,
resolution is usually given in dots per inch (DPI), which makes it easy to
convert pixels to real inches. However, on a video display, resolution is
given only in pixels. A given video mode will be some X pixels wide with no
information as to the real dimensions of the display area.
Because there is no way to programmatically determine the real dimensions of the viewable area on a video display, it is impossible for a program to determine real output dimensions. Two manual methods for determining real output dimensions are given in this article. MORE INFORMATION
When output is destined for a printer, the application can call
GetDeviceCaps() using LOGPIXELSX and LOGPIXELSY to determine dots per real inch. However, for a video display, LOGPIXELSX and LOGPIXELSY are defined by the video driver and may vary wildly. These numbers define a logical inch, which is almost never equal to a real inch.
Applications that need to output real sizes to the video display can use one of the following two methods for determining output size:
| Article Translations
|
Back to the top
