2009-10-08 7 views
0

Après une aide précieuse ici plus tôt Ive a presque terminé le projet sur lequel je travaille. Je pensais que je l'avais terminé mais je suis allé et a couru dans un dernier numéro. Mon programme prend une capture d'écran de la sortie finale de mon fichier, et la sortie finale de mon fichier a des images liées à partir des URL à l'intérieur de mon fichier. Maintenant, lorsque les images sont exclues, cela économise très bien, mais quand je charge dans une image à partir d'une adresse Web, il ne semble pas permettre à mon imageSnapShot de fonctionner.Flex 3.4 - question imageSnapshot, liant les images ~

private function takeSnapshot(even:Event=null):void { 

    var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(previewMode); 
    var MyFile:FileReference = new FileReference(); 

    MyFile.save(imageSnap.data, 'profile.png'); 


} 

Où "PreviewMode" est le composant Im prend un screendump (a ViewStack) et à l'intérieur il y a des images liées de sites.

A travers quelques tests, il semble arrêter sur -

var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(previewMode); 

Il isnt se fait l'image de la sortie. Toute aide serait grandement sollicitée, vous avez tous été merveilleux jusqu'à présent.

Répondre

1

ImageSnapshot.captureImage peut utiliser la méthode BitmapData.draw() pour prendre la photo. La livedocs page sur cette méthode dit que:

L'objet source et (dans le cas d'un objet Sprite ou MovieClip) doivent provenir du même domaine tous ses objets enfants que l'appelant, ou doit être en Fichier SWF accessible à l'appelant en appelant la méthode Security.allowDomain(). Si ces conditions ne sont pas remplies, la méthode draw() ne dessine rien.

Votre fichier a des images liées à des URL à l'intérieur il. Apparemment, ce n'est pas autorisé. Découvrez Security.allowDomain pour un possible travail autour. Si vous avez des images externes these rules s'appliquent également.

Si vous chargez un objet Bitmap à partir d'un autre domaine que celui de l'objet Loader utilisé pour charger l'image, et il n'y a pas de fichier de politique inter-domaine qui permet d'accéder au domaine de l'objet Loader, puis un script dans ce domaine ne peut pas accéder à l'objet Bitmap ou à ses propriétés et méthodes.

+0

Ceci est exactement exact. Depuis Flex 3.5, cela déclenche également une exception SecurityError. J'essaie de prendre une capture d'écran d'une application basée sur GoogleMaps et j'ai ce même problème que je tente de contourner pour envoyer des emails d'erreur dans ma boîte de réception (avec capture d'écran). – motto