使用StretchBlt()缩小问题

时间:2009-12-03 04:22:45

标签: stretchblt

我有一些代码根据源位图绘制我自己的矩形按钮。

大多数情况下,目标按钮比我的源位图图像大,StretchBlt工作正常。但是,当目标小于源图像时,StretchBlt拒绝填充整个目标区域。

我知道StretchBlt在缩小图像质量方面质量不高但我并不太关心。我只是不想丢失像素。

这里有一个链接,其中包含顶部的源图像和底部的目标:

link text 请注意,我实际上是将源图像的一部分缩小到目的地。我并没有缩小整个图像。因此,例如,我使用BitBlt()复制大小的角大小然后我将源图像的角之间的水平像素数据拉伸(压缩)到目标DC。

我的源和目标坐标没有错误。如果我从SRCCOPY更改为WHITENESS,整个区域将填充白色,如您所料。没有像您在上面的Broken.bmp图片中看到的那样没有复制像素的灰色条。

之前有没有人遇到过这个问题,如果是的话,有人可以提出解决方案吗?

干杯

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。 StretchBlt()没有错。问题是我创建并与我的工作DC相关联的位图太小而无法容纳图像,因此它会截断它。糟糕。