savez-vous s'il y a moyen de récupérer la couche alpha d'une image ?
Je suis parti du tutoriel de G-rom, et j'ai essayé de l'adapter, mais je n'ai pas encore réussi

Code : Tout sélectionner
UseJPEGImageDecoder()
UseJPEGImageEncoder()
UsePNGImageDecoder()
UsePNGImageEncoder()
Image_A = LoadImage(#PB_Any,"1.jpg")
Image_B = LoadImage(#PB_Any,"2.png")
alpha_b = LoadImage(#PB_Any,"2.png")
Reference_SizeX = ImageWidth(Image_a)
Reference_SizeY = ImageHeight(Image_a)
ResizeImage(Image_A,Reference_SizeX,Reference_SizeY)
ResizeImage(Image_B,Reference_SizeX,Reference_SizeY)
ResizeImage(alpha_b,Reference_SizeX,Reference_SizeY)
Dim Image_A_Color(Reference_SizeX,Reference_SizeY)
Dim Image_B_Color(Reference_SizeX,Reference_SizeY)
Dim Image_C_Color(Reference_SizeX,Reference_SizeY)
StartDrawing(ImageOutput(Image_A))
For y = 0 To Reference_SizeY - 1
For x = 0 To Reference_SizeX - 1
Image_A_Color(x,y) = Point(x,y)
Next
Next
StopDrawing()
StartDrawing(ImageOutput(Image_B))
For y = 0 To Reference_SizeY - 1
For x = 0 To Reference_SizeX - 1
Image_B_Color(x,y) = Point(x,y)
Next
Next
StopDrawing()
StartDrawing(ImageOutput(alpha_b))
For y = 0 To Reference_SizeY - 1
For x = 0 To Reference_SizeX - 1
Color = Point(x,y)
Image_C_Color(x,y) = Alpha(color)
;Image_C_Color(x,y) = (Red(Color) + Green(Color) + Blue(Color) ) / 3
Next
Next
StopDrawing()
Sortie = CreateImage(#PB_Any,Reference_SizeX,Reference_SizeY,32)
StartDrawing(ImageOutput(Sortie))
For y = 0 To Reference_SizeY - 1
For x = 0 To Reference_SizeX - 1
Red_A = Red(Image_A_Color(x,y))
Green_A = Green(Image_A_Color(x,y))
Blue_A = Blue(Image_A_Color(x,y))
Red_B = Red(Image_B_Color(x,y))
Green_B = Green(Image_B_Color(x,y))
Blue_B = Blue(Image_B_Color(x,y))
Value.f = Image_c_Color(x,y);Image_c_Color(x,y) / 255
;
Red = (Red_A *value ) + (Red_B * (1-Value))
Green = (Green_A *value) + (Green_B * (1-Value))
Blue = (Blue_A * value ) + (Blue_B * (1-Value))
Plot(x,y,RGBA(Red,Green,Blue,value))
Next
Next
StopDrawing()
SaveImage(Sortie,"Sortie.png",#PB_ImagePlugin_PNG,32)

Merci d'avance
