Using a device-dependent blitting operation, such as BitBlt() or
StretchBlt(), to transfer data from a DC supported by one device to a DC
supported by another device is not supported. While blitting between
different devices might work with some driver pairs, you cannot rely on it
to work between all driver pairs, so you should avoid it. The most common
problem scenario occurs when the code for displaying a memory bitmap uses
StretchBlt() to display the image to a printer DC.
To avoid this problem, convert the memory bitmap from its device-dependent
form into a device-independent form by using the function GetDIBits(). You
can display The device-independent image to the second device by using
either SetDIBits() or StretchDIBits().
For more information on how to convert between device-dependent bitmaps
(DDBs) and device-independent bitmaps (DIBs), see the following KB article:
For additional information , please click the article number below
to view the article in the Microsoft Knowledge Base:
80080 (http://support.microsoft.com/kb/80080/EN-US/) HOWTO: Convert Between Device-Dependent Bitmaps and DIBs