我正在尝试使用GetPixel和SetPixel将一张图片的内容复制到另一张(我知道还有其他方法可以这样做,但我有理由想尝试这个; D)
无论如何,图片都是.png图片,因此它们包含透明度设置。
但出于某种原因,似乎我使用的是GetPixel& SetPixel将一个图像放在另一个图像上,似乎第二个图像完全取代另一个图像。我的意思是,当我使用GetPixel& amp;时,似乎不尊重透明度设置。 SetPixel。
两张图片都有相同的尺寸。两者都有透明区域。
答案 0 :(得分:2)
在调用SetPixel()之前,您需要调用MakeTransparnet()。这里有一些代码将alpha图像中第一个像素的内容复制到另一个图像上并保留第一个图像的alpha通道:
Using img1 = New Bitmap("c:\Users\Owner\Desktop\1.png")
PX = img1.GetPixel(0, 0)
End Using
Using img2 = New Bitmap("c:\Users\Owner\Desktop\2.png")
img2.MakeTransparent() '//Sets the transparent value and converts the image to Format32bppArgb
img2.SetPixel(0, 0, PX)
img2.Save("c:\Users\Owner\Desktop\3.png")
End Using