首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PlayEnhMetaFile绘制具有alpha通道的增强型图元文件

使用PlayEnhMetaFile绘制具有alpha通道的增强型图元文件
EN

Stack Overflow用户
提问于 2012-02-27 23:09:16
回答 1查看 891关注 0票数 1

我正在尝试将包含透明区域的增强型图元文件转换为仅使用GDI函数的32位位图。这有可能得到正确的alpha值吗?

下面生成一个32位位图,每个像素的alpha值设置为0:

首先,我使用CreateCompatibleDC(NULL)创建了一个内存DC,使用CreateCompatibleBitmap创建了一个HBITMAP,使用GetDC(NULL)检索到了屏幕DC。(后者生成32位位图的句柄。)

然后我使用SelectObject将创建的位图选择到内存DC中。

最后,我使用PlayEnhMetaFile将包含透明区域的增强型图元文件绘制到内存DC中。

EN

回答 1

Stack Overflow用户

发布于 2012-02-28 18:18:18

我没有使用PlayEnhMetaFile的经验,但您可以使用AlphaBlend绘制带有alpha通道的内存DC

代码语言:javascript
复制
inline BOOL AlphaBlt(HDC hDC, int x, int y, int cx, int cy, HDC hSrcDC, int xSrc, int ySrc, int cxSrc, int cySrc)
{
    static BLENDFUNCTION bf = {AC_SRC_OVER, 0, 255, AC_SRC_ALPHA};
    return AlphaBlend(hDC, x, y, cx, cy, hSrcDC, xSrc, ySrc, cxSrc, cySrc, bf);
}

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9467290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档