Je suis en train de prendre un instantané de la région masquée d'une image ... alors, je charge mon image puis effectuez les fonctions suivantes:BitmapData d'une image masquée dans ActionScript 3 (AS3)
private function manageLoadedImage(e:Event):void
{
_bitdata = e.currentTarget.content; // get the bitmap
_bithold.addChild(_bitdata); // add the bitmap to a sprite on the stage
_bithold.x = holder1.x -((_bithold.width - holder1.width)/2); // center image
_bithold.y = holder1.y -((_bithold.height - holder1.height)/2); // center image
var m:Shape = new Shape(); // create the shape
m.graphics.beginFill(0x0); // make the fill
m.graphics.drawRect(this.x, this.y, holder1.width, holder1.height); // draw the mask
m.graphics.endFill(); // end the fill
_bithold.mask = m; // mask the image
}// private function manageNewPaneAddition(e:Event):void
public function save():void
{
// WHAT DO I DO HERE ????????
_bmdsrc = new BitmapData(holder1.width, holder1.height); // create the new bitmapdata
var m:Matrix = _bithold.transform.matrix; // lets try this out
m.tx = -holder1.x + _bithold.width; // not sure what this means ?
m.ty = -holder1.y + _bithold.height; // what does this mean ?
_bmdsrc.draw(_bithold, m); // draw the bitmapdata
// END PROBLEM ??????????????
}// private function save():void
Donc, après avoir géré l'image chargée, je l'enregistre. Mais la fonction de sauvegarde produit seulement un carré blanc 80x80px. Cela me dit que je suis en train de photographier une scène vide.
La construction MovieClip est la suivante:
je un film, dans ce film, j'ai un nom d'éditeur de vignettes ThumbEdit.
ThumbEdit dispose d'un MovieClip sur son étage appelé "holder1". Dans la classe de document de ThumbEdit je crée un sprite "_bithold" et le place sur la scène chez holder1.x et holder1.y. Lorsque l'image se charge, j'ajoute l'image à _bithold, puis masque _bithold avec une forme. Donc, je veux prendre un instantané de la région masquée de _bithold mais je ne suis pas sûr de savoir comment je devrais faire ça ... un conseil?
cool! Merci pour l'aide. J'ai mis en place une solution de chronologie simple maintenant, mais j'essaierai la vôtre dans un proche avenir. Puis va poster ici. –
Merci beaucoup! J'ai parcouru le web pour trouver une bonne solution à ce problème et cela fonctionne parfaitement. Brillant! – WendiKidd