BUG: StretchBlt() Does Not Perform Palette Translations (111729)



The information in this article applies to:

  • Microsoft Windows Software Development Kit (SDK) 3.1

This article was previously published under Q111729
3.10 WINDOWS kbprg kbbuglist

SYMPTOMS

Normally, the StretchBlt() function performs a palette translation when the destination and source bitmaps do not contain the same color format or palette. When the destination rectangle is the exact size of the source rectangle (no stretching is performed), the palette translation is not performed.

CAUSE

When the destination and source rectangles are the same size, no stretching is performed and BitBlt() is called to perform a straight copy of the source to the destination. BitBlt() does not perform the palette translation that StretchBlt() does.

RESOLUTION

You can force StretchBlt() to not call BitBlt() by changing one of the destination rectangle coordinates by one unit. Then, the palette translation will be performed.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

This problem does not occur in Windows NT version 3.1.

Modification Type:MinorLast Reviewed:3/7/2005
Keywords:kbbug kbpending KB111729