ソース ビットマップに基づいて独自の長方形のボタンを描画するコードがいくつかあります。
ほとんどの場合、宛先ボタンはソース ビットマップ イメージよりも大きく、StretchBlt は正常に動作します。ただし、宛先がソース イメージより小さい場合、StretchBlt は宛先領域全体を塗りつぶすことを拒否します。
画像の縮小に関しては、StretchBlt の品質が良くないことは知っていますが、それについてはあまり心配していません。欠落したピクセルが欲しくないだけです。
上部にソース画像、下部に宛先のリンクがあります。
リンク テキスト 注、実際にはソース イメージの一部を宛先に縮小しています。画像全体を縮小しているわけではありません。たとえば、BitBlt() を使用して角のサイズをサイズにコピーし、ソース イメージの角の間の水平方向のピクセル データを転送先の DC に引き伸ばします (押しつぶします)。
出発地と目的地の座標に問題はありません。SRCCOPY から WHITENESS に変更すると、予想どおり、領域全体が白で塗りつぶされます。上の Broken.bmp 画像に見られるように、ピクセルがコピーされていない灰色のバーはありません。
誰かが以前にこの問題を抱えていましたか? もしそうなら、誰かが解決策を提案できますか?
乾杯