2009-10-19 8 views
1

Nous avons maintenant des objets Bitmap et Bitmapdata. Et lors de l'utilisation de la webcam, nous pouvons obtenir une sortie de raw-pixeldata. Mais, pouvons-nous obtenir de la pixeldata brute de l'objet "stage" ou "swf" d'une manière ou d'une autre? Je voudrais utiliser ceci pour faire de "petites vignettes" de certaines parties d'applications Actionscript et cela pourrait être des compositions complexes de texte dynamique, de graphiques bitmap et de clips vidéo en même temps. Donc, ce serait bien de faire un "quick snap" et de simplement obtenir les pixels combinés actuels en un bitmap et ensuite être en mesure de "sauvegarder cela pour une utilisation ultérieure".Screendump à partir de Actionscript 3.0 est-il possible ou?

Est-ce possible? est-ce trop facile? Est-ce que je regarde juste au mauvais endroit dans les documents d'Adobe?

Nous avons des images, des vecteurs, etc. en même temps sur scène, donc j'ai besoin de récupérer les objets "stage" bitmapdata ???

+0

Espérons que cela va laisser une nouvelle réponse qui résout la question initiale. (désolé de décocher à nouveau la première réponse) – BerggreenDK

+0

EDIT: fait le bit important ** BOLD ** comme la première réponse n'a pas résolu le problème avec des objets de scène complexes. – BerggreenDK

+0

Solution: l'objet transmis doit être de classe "Stage". Pas Sprite, pas IBitmapDrawable etc. – BerggreenDK

Répondre

5

Créer une BitmapData et appeler sa draw()method avec le correspondant DisplayObject

var bmpData:BitmapData = new BitmapData(sprite.width, sprite.height, true); 
bmpData.draw(sprite); 

Si vous voulez faire des vignettes plus petites, créer un Matrix et appeler sa méthode createBox avec des paramètres de mise à l'échelle nécessaires et le transmettre à la draw méthode.

var bmpData:BitmapData = new BitmapData(thumbW, thumbH, true); 
var mat:Matrix = new Matrix(); 
mat.createBox(thumbW/sprite.width, thumbH/sprite.height); 
bmpData.draw(sprite, mat); 
+0

sympa! Merci! si logique je savais presque que je devais devenir aveugle: o) Super! va l'essayer! – BerggreenDK

+0

Pourriez-vous essayer de m'aider une fois de plus? Je vais d'ailleurs marquer la réponse si elle est correcte à nouveau. Mon erreur la première fois. Désolé pour ça. – BerggreenDK

+0

Qu'est-ce qui vous a fait accepter la réponse? Avez-vous essayé 'bmpData.draw (stage);'? Qu'est-il arrivé? Ça ne marche pas? – Amarghosh

Questions connexes