Vb.net 将两个图片框合并为一个新的图片框
我的pixBox1已修复,无法更改图像 pixBox2不是固定的,它可以在这里改变颜色和旋转 我使用OpenFileDialog函数将图像放入这些pixbox中 那么现在我如何将这两个pixbox组合到我的pixbox3中呢 我尝试过这个,但它看起来不起作用:Vb.net 将两个图片框合并为一个新的图片框,vb.net,Vb.net,我的pixBox1已修复,无法更改图像 pixBox2不是固定的,它可以在这里改变颜色和旋转 我使用OpenFileDialog函数将图像放入这些pixbox中 那么现在我如何将这两个pixbox组合到我的pixbox3中呢 我尝试过这个,但它看起来不起作用: Dim image As New Bitmap(pixBox1.Image) Dim image2 As New Bitmap(pixBox2.Image) Dim Image3 As New Bitmap(300,
Dim image As New Bitmap(pixBox1.Image)
Dim image2 As New Bitmap(pixBox2.Image)
Dim Image3 As New Bitmap(300, 300)
Dim g As Graphics = Graphics.FromImage(Image3)
g.DrawImage(image1, New Point(300, 300))
g.DrawImage(image2, New Point(300, 300))
g.Dispose()
g = Nothing
pixBox3.Image = Image3
这有点难看和慢,但它基本上将
image2
中的所有像素设置为50%透明,然后将其绘制在Image
的顶部
Dim image As New Bitmap(pixBox1.Image)
Dim image2 As New Bitmap(pixBox2.Image)
Dim Image3 As New Bitmap(300, 300)
Using g As Graphics = Graphics.FromImage(Image3)
'make 2nd bmp translucent
For Integer Xcount = 0 To image2.Width - 1
For Integer Ycount = 0 To image2.Height - 1
Dim c as Color = image2.GetPixel(Xcount, Ycount)
c = Color.FromARGB(125, c.R, c.G, c.B) '50% alpha
image2.SetPixel(Xcount, Ycount, c)
Next
Next
g.DrawImage(image1, New Point(0, 0))
g.DrawImage(image2, New Point(0, 0))
End Using
pixBox3.Image = Image3
作为旁注,
Using
块确保无论发生什么情况,g
都被释放 你说的联合收割机是什么意思?并排?用某种颜色混合覆盖?用透明覆盖?不要在(300,300)处绘制图像,这会在位图外部绘制图像。改为在(0,0)处绘制。