Vb.net NET图片获取像素&;SetPixel:包括alpha?

Vb.net NET图片获取像素&;SetPixel:包括alpha?,vb.net,alpha,getpixel,Vb.net,Alpha,Getpixel,我正在尝试使用GetPixel和SetPixel将一张图片的内容复制到另一张图片(我知道还有其他方法可以做到这一点,但我想尝试这一点是有原因的;D) 无论如何,这些图片都是.png图像,因此它们包括透明度设置 但出于某种原因,当我使用GetPixel&SetPixel将一个图像放在另一个图像上时,第二个图像似乎完全取代了另一个图像。我的意思是,当我使用GetPixel&SetPixel时,透明度设置似乎没有得到尊重 两个图像的大小相同。两者都有透明区域。在调用SetPixel()之前,需要调用。

我正在尝试使用GetPixel和SetPixel将一张图片的内容复制到另一张图片(我知道还有其他方法可以做到这一点,但我想尝试这一点是有原因的;D)

无论如何,这些图片都是.png图像,因此它们包括透明度设置

但出于某种原因,当我使用GetPixel&SetPixel将一个图像放在另一个图像上时,第二个图像似乎完全取代了另一个图像。我的意思是,当我使用GetPixel&SetPixel时,透明度设置似乎没有得到尊重

两个图像的大小相同。两者都有透明区域。

在调用SetPixel()之前,需要调用。下面的一些代码将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

所以,您知道有其他(更好的)方法可以将一个映像复制到另一个映像上,直接内置到.Net中,对吗?是的。但我对其他方法也有自己的问题。我问这个问题主要是出于好奇,而我解决了其他问题:)