是否使用 gdi+ 在 hdc 上绘图?结果是预乘 alpha 位图?
我正在尝试使用 GDI+ DrawImage 在 CImage 对象上绘制一些位图。生成的 CImage 位图似乎预乘了 alpha,但我在 msdn 文档中找不到任何提及。
当我在 CImage HDC 上使用 DrawImage 进行绘制时会发生什么?
I'm trying to draw some bitmap on a CImage object using GDI+ DrawImage. The resulting CImage bitmap seems to be premultiplied by alpha but I can't find any mention of that in the msdn documentation.
What happens when I draw using DrawImage over an CImage HDC ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,结果将被预乘,因为 AlphaBlend 函数需要预乘 alpha。 < 的文档 AlphaFormat 成员对此进行了说明代码>BLENDFUNCTION结构:
参考: http://msdn.microsoft.com /en-us/library/dd183393(v=vs.85).aspx
Yes, the result will be pre-multiplied because the AlphaBlend function expects pre-multiplied alphas. This is noted in the documentation AlphaFormat member of the
BLENDFUNCTION
structure:Ref: http://msdn.microsoft.com/en-us/library/dd183393(v=vs.85).aspx