|
WYSIWYG Display and Output
Most applications attempt to support WYSIWYG (what you see is what you get)
output. This means that text drawn with a 10-point Helvetica bold font in the
application window should have a similar appearance when it is printed. Obtaining
true WYSIWYG output is virtually impossible and even undesirable in most cases.
This is due, in part, to the differences in video and printer technologies; a
pixel on a screen is generally larger than a dot on a common laser printer.
Viewing distances are different as well; a computer user typically sits about two
feet away from the screen, but a reader's eyes are usually one foot or less
from the printed page.
To compensate for legibility differences between screens and the printed page,
Windows supports a unit called the logical inch that is always specified in
pixels. For a video display, the logical inch is always greater than the physical
inch to compensate for the longer viewing distance and the (generally) coarser
resolution. For printers, the logical inch is always equal to the physical
inch.
To obtain a WYSIWYG effect when drawing text, an application can use the CreateFont function to specify the typeface name and point size of an ideal (or logical)
font and then call the SelectObject function to identify the display or printer DC. When the application calls SelectObject, Windows selects a physical font that is the closest possible match to the
specified logical font. When Windows selects the display font, it chooses a
physical font that is larger than the actual point size. From the user's
perspective, however, it appears to be very close to the correct height. When Windows
selects the font for the printer, it chooses a physical font that is actually the
requested point size. For more information about fonts and text output, see Fonts and Text.
To obtain a WYSIWYG effect when drawing bitmapped graphics, an application can
retrieve the width and height, in logical inches, of the screen and the
printed page. Using these values, the application can create horizontal and vertical
scaling factors to maintain the proportion of bitmapped images when they are
drawn on a printer. For an example that demonstrates this process, see WYSIWYG Display and Output. For more information about bitmaps and bitmap output, see Bitmaps.
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|