2010-01-06 3 views
0

Je dois trouver un moyen de copier un bitmap masqué. J'ai un bitmap sur scène, et un sprite dessiné par l'utilisateur qui agit comme un masque. J'ai besoin de capturer/copier le bitmap de la zone masquée, en maintenant la transparence créée par le masquage pour éventuellement l'encoder en tant que png.Comment puis-je copier un bitmap masqué en conservant la transparence du masquage dans actionscript?

Je n'ai trouvé aucune documentation sur la façon d'accomplir cela en utilisant copyPixels(), ou dans d'autres directions.

Merci d'avance pour toute aide -

b

+0

Comment masques-tu? La propriété mask ou blendMode? – spender

Répondre

1

J'ai fait un test simple qui semble fonctionner:

var square:Sprite = new Sprite(); 
var circle:Sprite = new Sprite(); 
var holder:Sprite = new Sprite(); 

square.graphics.beginFill(0,.5); 
square.graphics.drawRect(0,0,100,100); 
square.graphics.endFill(); 

circle.graphics.beginFill(0); 
circle.graphics.drawCircle(0,0,50); 
circle.graphics.endFill(); 

addChild(holder); 
holder.addChild(square); 
holder.addChild(circle); 
square.mask = circle; 

var cloneData:BitmapData = new BitmapData(holder.width,holder.height,true,0x00FFFFFF); 
cloneData.draw(holder); 
var clone:Bitmap = new Bitmap(cloneData); 
addChild(clone); 
clone.x = 30; 

Je crée un BitmapData et en utilisant la méthode draw() faire un clone. L'élément clé semble être les deux derniers arguments dans le constructeur BitmapData. Après je passe le holder.width et holder.height, je précise que je veux le bitmapData être transparent (true) et ont le remplissage f ull blanc transparent (0x00FFFFFF) dans ARGB (alpha-rouge-vert -bleu)

Espérons que cela aide :)

+0

Merci pour l'aide, je me suis retiré sur un autre projet pour un court moment mais je reviendrai à accepter si je le fais fonctionner de cette façon ... – WillyCornbread

+0

L'info ARGB m'a été particulièrement utile et m'a permis de résoudre mes problèmes. Merci encore pour votre aide! – WillyCornbread

+0

Je suis heureux d'avoir pu aider^_ ^ –

Questions connexes