我正在创建一个增强的元文件,我正在向其绘制图表。该图以红色突出显示部分,使用 40 的 alpha 使其具有一定的透明度。保存文件时,alpha 不存在,看起来像 Windows 使用白色/红色的平衡。我的问题是如何设置元文件以使其包含 alpha?
目标阿尔法:
实际的:
制作增强型元文件的代码:
Dim gfx As Graphics = Form1.CreateGraphics
Dim hDcRef As IntPtr = gfx.GetHdc
Dim rc As RECT
Dim hDcEmf As IntPtr = CreateEnhMetaFile(hDcRef, "c:\new", rc, Nothing)
gfx.ReleaseHdc(hDcRef)
gfx.Dispose()
Dim g = Graphics.FromHdc(hDcEmf)
Graph.Draw(g)
Dim hEmf As IntPtr = CloseEnhMetaFile(hDcEmf)
g.Dispose()
如果需要,也可以提供对 GDI+ dll 的调用。