BLENDFUNCTION bdf;ZeroMemory(&bdf, sizeof(bdf));bdf.SourceConstantAlpha = 150; // 指定不透明度(0為完全透明, 255為完全不透明)SelectObject(hdcMem, hbmp); // 選入要複製的位圖AlphaBlend(hdc, 50, 50, bmp.bmWidth / 2, bmp.bmHeight / 2, hdcMem, 0, 0, bmp.bmWidth, bmp.bmHeight, bdf);
運行效果:
各參數的解釋:AlphaBlend(目標設備DC, 顯示位置x坐標, 顯示位置y坐標, 顯示寬度, 顯示高度, 含有圖像的DC, 開始截取位置x坐標, 開始截取位置y坐標, 截取寬度, 截取高度, 半透明屬性);合理調整顯示寬度和高度可以縮放圖像,例如bmp.bmWidth / 2, bmp.bmHeight / 2就是縮小為原尺寸的50%。
函數執行時先進行原圖像剪切,未剪切的部分不會顯示出來。