Pregunta

Estoy tratando de usar GetPixel y SetPixel para copiar el contenido de una imagen a otra (sé que hay otros métodos para hacerlo, pero hay razones por las que quiero probar esto; D)

De todos modos, las imágenes son imágenes .png, por lo que incluyen configuraciones de transparencia.

Pero por alguna razón, parece que cuando uso GetPixel & SetPixel para poner una imagen sobre otra, parece que la segunda imagen reemplaza por completo la otra. Quiero decir, parece que la configuración de transparencia no se respeta cuando uso GetPixel & SetPixel.

Ambas imágenes tienen el mismo tamaño. Ambos tienen áreas transparentes.

¿Fue útil?

Solución

Antes de llamar a setPixel () debe llamar Maketransparnet (). Aquí hay algún código que copia el contenido del primer píxel en una imagen alfa en otra imagen y retiene el canal alfa de la primera imagen:

    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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top