我有两个(其实很多)PNG http://en.wikipedia.org/wiki/Portable_Network_Graphics(.png) 我的应用程序中的图像。两者都有透明区域。
我想在我的应用程序中拍摄两个图像,将它们组合起来,并将结果显示在图片框中。后来我想通过一个按钮保存结果。
到目前为止,我设法找到这两个图像并将它们组合起来,但似乎透明度的东西不起作用。我的意思是,如果您将一张图像放在另一张图像上,则结果中只有顶部图像可见,因为显然该图像的背景是一个纯白框。但事实并非如此。
这是我的一些代码:
Dim Result As New Bitmap(96, 128)
Dim g As Graphics = Graphics.FromImage(Result)
Dim Name As String
For Each Name In BasesCheckList.CheckedItems
Dim Layer As New Bitmap(resourcesPath & "Bases\" & Name)
For x = 0 To Layer.Width - 1
For y = 0 To Layer.Height - 1
Result.SetPixel(x, y, Layer.GetPixel(x, y))
Next
Next
Layer = Nothing
Next
resourcesPath
是我的资源文件夹的路径。Bases
是其中的一个文件夹。和Name
是图像的名称。
问题是你正在尝试手动完成此操作。不。有很多用于绘制图像的库例程,并且它们知道如何正确处理透明度。
Dim Result As New Bitmap(96, 128)
Dim g As Graphics = Graphics.FromImage(Result)
Dim Name As String
For Each Name In BasesCheckList.CheckedItems
Dim Layer As New Bitmap(resourcesPath & "Bases\" & Name)
g.DrawImageUnscaled(Layer, 0, 0);
Layer = Nothing
Next
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)