Question

Je suis en train d'utiliser GetPixel et SetPixel pour copier le contenu d'une image à l'autre (je sais qu'il ya d'autres méthodes pour le faire, mais il y a des raisons que je veux essayer; D)

De toute façon, les images sont des images .png, de sorte qu'ils comprennent les paramètres de transparence.

Mais pour une raison quelconque, il semble que lorsque j'utilise GetPixel & SetPixel pour mettre une image sur une autre, il semble que la deuxième image remplace complètement l'autre. Je veux dire, il semble que les paramètres de transparence ne sont pas respectées lors de l'utilisation GetPixel & SetPixel.

Les deux images ont la même taille. Les deux ont des zones transparentes.

Était-ce utile?

La solution

Avant d'appeler SetPixel (), vous devez appeler MakeTransparnet () . Voici un code qui copie le contenu du premier pixel dans une alpha-image sur une autre image et conserver est le canal alpha de la première image:

    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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top