ID Number: Q74793
3.00
WINDOWS
Summary:
When a pattern brush is used to fill an area of the page on the
printer, the printer's high resolution will cause a fine pattern to
lose definition and appear as a shade of gray.
Brushes that are created with the CreatePatternBrush() function are 8
pixels by 8 pixels (8 x 8 pixels) in size. On a 300 dots-per-inch
(dpi) laser printer, the pattern will be 0.027 inches wide.
To create a pattern that gives similar effects on the screen as on the
printer, it is necessary to compare the screen resolution to the
printer resolution, and to compensate for the differences.
For example, if the video display is 100 dpi (typical of a VGA), and
the printer is 300 dpi (a typical laser printer), the bit must be
three times larger in each direction. The following compares a screen
bitmap and a printer bitmap:
10101010 111000111000111000111000
01010101 111000111000111000111000
10101010 111000111000111000111000
01010101 000111000111000111000111
10101010 000111000111000111000111 and so forth
01010101 000111000111000111000111
10101010 111000111000111000111000
01010101 111000111000111000111000
111000111000111000111000
Video 000111000111000111000111
000111000111000111000111
000111000111000111000111
111000111000111000111000
111000111000111000111000
111000111000111000111000
000111000111000111000111
000111000111000111000111
000111000111000111000111
111000111000111000111000
111000111000111000111000
111000111000111000111000
Printer
However, since the pattern brush is always 8 x 8 pixels, a different
approach must be used when printing:
1. Use the StretchBlt() function to create, from the video bitmap, the
24 x 24 pixel bitmap for the printer.
2. Manually "tile" this bitmap into the region to be painted.