Frequently Asked Questions
Getting a printers capabilities.
Question:
How can I detect if a printer is capable of printing graphics,
large bitmaps, and DIBs?
Answer:
You can call the GetDeviceCaps function and test the
capability against the RASTERCAPS capability. Note that if
the Device does support graphics, but does not support
another raster capability such as "StretchDib", Windows will
handle the call by using lower level graphic primitives to
accomplish the task.
Example:
if (GetDeviceCaps(Printer.Canvas.Handle, RASTERCAPS) and
RC_NONE) = RC_NONE then
NoGraphics := True;
if (GetDeviceCaps(Printer.Canvas.Handle, RASTERCAPS) and
RC_STRETCHDIB) = RC_STRETCHDIB then
DeviceDirectly SupportsStretchDIB := True else
WIndowsWillSimulateStretchDIB := True;