pratt@boulder.Colorado.EDU (Jonathan Pratt) (01/21/90)
Many thanks to all who responded to my query about printing bitmaps and pixmaps at resolutions greater than 72 dpi. Here are some of the methods that were suggested: 1. Use the percent reduction feature when printing (mainly for laser printers). Theoretically this increases the dpi of the bitmap you're printing. This didn't seem to work for a Laser- Master printer, as nothing printed when the scaling was under 100%. Don't know about the LaserWriter. 2. Use a scaled-up rectangle for the call to PrOpenPage. For example, I generated a bitmap at 576 dpi and then used a rectangle eight times as big as the rPage rectangle. This worked well for the Imagewriter but produced ugly results on the laser printers I tried. 3. Probably the most sensible method is to use PrGeneral to find and use the maximum printer resolution. Just be sure to place your calls outside of the PrOpenDoc/PrOpenPage nesting. Specific to pixmaps: Use the LaserWriter driver 6.0 to have dithering applied automatically (earlier versions seem to ignore CopyBits with pixmaps). I don't have this version yet so I can't comment on the quality. If you want to be printer independent you can dither the pixmap yourself to make a higher dpi bitmap (the parameters of the bitmap are determined from the PrGeneral call). Finally, if you know you'll be printing to a PostScript printer you can send half-tone information directly to the printer using picture comments (Tech note 91). This produces nice visual results and you can specify the halftone dpi, angles, and screen type. Sample code can be found in the source to Wayne Rasband's program Image - probably available at sumex, etc. Jonathan /* Jonathan Pratt Internet: pratt@boulder.colorado.edu * * Campus Box 525 uucp: ..!{ncar|nbires}!boulder!pratt * * University of Colorado * * Boulder, CO 80309 Phone: (303) 492-4293 */