- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >


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;




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile