我的应用程序中有两个(实际上很多)PNG(。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
是图片的名称。
答案 0 :(得分:3)
问题是你是想亲手做到这一点。别。有很多用于绘制图像的库例程,他们知道如何正确处理透明度。
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
答案 1 :(得分:1)