我有一些代码根据源位图绘制我自己的矩形按钮。
大多数情况下,目标按钮比我的源位图图像大,StretchBlt工作正常。但是,当目标小于源图像时,StretchBlt拒绝填充整个目标区域。
我知道StretchBlt在缩小图像质量方面质量不高但我并不太关心。我只是不想丢失像素。
这里有一个链接,其中包含顶部的源图像和底部的目标:
link text 请注意,我实际上是将源图像的一部分缩小到目的地。我并没有缩小整个图像。因此,例如,我使用BitBlt()复制大小的角大小然后我将源图像的角之间的水平像素数据拉伸(压缩)到目标DC。
我的源和目标坐标没有错误。如果我从SRCCOPY更改为WHITENESS,整个区域将填充白色,如您所料。没有像您在上面的Broken.bmp图片中看到的那样没有复制像素的灰色条。
之前有没有人遇到过这个问题,如果是的话,有人可以提出解决方案吗?
干杯
答案 0 :(得分:0)
我已经解决了这个问题。 StretchBlt()没有错。问题是我创建并与我的工作DC相关联的位图太小而无法容纳图像,因此它会截断它。糟糕。