2009-12-03 83 views
0

我有一些代碼根據源位圖繪製我自己的矩形按鈕。使用StretchBlt縮小問題()

大多數情況下,目標按鈕比我的源位圖圖像大,StretchBlt工作正常。但是,當目的地比源圖像小時,StretchBlt拒絕填充整個目的地區域。

我知道StretchBlt在縮小圖像方面質量並不好,但我並不太在意這一點。我只是不想缺少像素。

在這裏,在頂部和目的地在底部與源圖像的鏈接:

link text 注意,我其實縮小源圖像的部分到目的地。我不縮小整個圖像。例如,我使用BitBlt()複製邊角大小的大小,然後將來自源圖像的角之間的水平像素數據拉伸(擠壓)到目標DC。

我的源座標和目標座標沒有錯誤。如果我從SRCCOPY更改爲WHITENESS,則整個區域將按照您的預期填充白色。在上面的Broken.bmp圖像中看到像素沒有複製的灰色條。

有沒有人有過這個問題,如果是的話,有人可以請建議一個解決方案?

乾杯

回答

0

我已經解決了這個問題。 StretchBlt()沒有錯。問題是我創建的位圖和與我工作的DC相關聯的位圖太小,無法容納圖像,因此它會截斷它。哎呀。