2012-11-08 1 views
0

Est-il possible d'appliquer à la fois alpha et BlendMode.HardLight lors du dessin avec bitmapdata?Bitmapdata blendmode et alpha

var processImageBmd:BitmapData=new BitmapData(900,900); 
processImageBmd.draw(backgroundImage); //backgroundImage is a sprite        

processImageBmd.draw(frontImage,null,null,BlendMode.HARDLIGHT);//frontImage is a sprite 

Fondamentalement, je besoin d'appliquer alpha (disons alpha = 0,4) et BlendMode.HARDLIGHT à frontImage. J'applique avec succès le hardlight blendmode à l'image frontale, mais je n'arrive pas à comprendre comment le rendre alpha.

+0

Je crois que vous pouvez définir le paramètre alpha sur colorTransform. Je vais voir si je peux faire un exemple – BadFeelingAboutThis

+0

J'ai trouvé la même solution que vous :) Je viens de revenir et j'ai vu votre réponse. Donc je vous ai donné les points. – ForeverNights

Répondre

1

Vous devriez être en mesure de le faire avec un colorTransfrom passé à la fonction de tirage au sort.

Donc, pour votre scénario, cela devrait faire l'affaire:

var ct:ColorTransform = frontImage.transform.colorTransform; //copy the current colorTransform so you don't have to mess with colors 
ct.alphaMultiplier = .4; //set it's alpha to .4; 
processImageBmd.draw(frontImage,null,ct,BlendMode.HARDLIGHT); //pass your color transform to the draw command 
1

Oui, c'est possible. Vous devez passer un ColorTransform, qui contient un paramètre alphaMultiplier.

BitmapData.draw(IDrawable, Matrix, ColorTransform, BlendMode, ClipRect, smoothing)