1
我想使用GDI + DrawImage在CImage對象上繪製一些位圖。由此產生的CImage位圖似乎預乘alpha,但在msdn文檔中找不到任何提及。使用gdi +在alpha乘以alpha位前乘以一個hdc?
當我使用DrawImage繪製CImage HDC時會發生什麼?
我想使用GDI + DrawImage在CImage對象上繪製一些位圖。由此產生的CImage位圖似乎預乘alpha,但在msdn文檔中找不到任何提及。使用gdi +在alpha乘以alpha位前乘以一個hdc?
當我使用DrawImage繪製CImage HDC時會發生什麼?
是的,結果將被預乘,因爲AlphaBlend函數期望預乘alpha。 - 當所述位圖具有alpha通道(即,每像素阿爾法)該標誌被設置
AC_SRC_ALPHA:這是文檔AlphaFormat的
BLENDFUNCTION
結構的構件中指出。請注意,API使用預乘alpha,這意味着位圖中的紅色,綠色和藍色通道值必須預乘alpha通道值。例如,如果alpha通道值爲x,則在調用之前,紅色,綠色和藍色通道必須乘以x併除以0xff。
編號:http://msdn.microsoft.com/en-us/library/dd183393(v=vs.85).aspx