Je sais gommer l'alpha d'une image, pour ça, j'utilise un code de LSi que j'ai un peu modifié :
Code : Tout sélectionner
Procedure FiltreMelangeAlpha2(x, y, SourceColor, TargetColor) ; filter To mix alpha for the eraser tool
; By Le Soldat inconnu
; modif by blendman
If Alpha(TargetColor) - Alpha(SourceColor) >= 0
ProcedureReturn RGBA(Red(TargetColor), Green(TargetColor), Blue(TargetColor), Alpha(TargetColor)-Alpha(SourceColor))
Else
ProcedureReturn RGBA(Red(TargetColor), Green(TargetColor), Blue(TargetColor), 0)
EndIf
EndProcedure
Code : Tout sélectionner
DrawingMode(#PB_2DDrawing_CustomFilter)
CustomFilterCallback(@FiltreMelangeAlpha2())
Mais je n'arrive pas à ajouter de l'alpha sur l'image. J'ai testé pas mal de combinaison, mais je n'arrive jamais à un résultat satisfaisant ^^.
Une idée ?
EDIT :
roh, je viens de trouver ^^
Code : Tout sélectionner
Procedure FiltreMelangeAlpha3(x, y, SourceColor, TargetColor)
If Alpha(TargetColor) + Alpha(SourceColor) <= 255
ProcedureReturn RGBA(Red(TargetColor), Green(TargetColor), Blue(TargetColor), Alpha(SourceColor)+Alpha(TargetColor))
Else
ProcedureReturn RGBA(Red(TargetColor), Green(TargetColor), Blue(TargetColor), 255)
EndIf
Endprocedure