2010-02-23 4 views
1

Comment copier quelque chose en tant que bitmap modifiable dans Flash?Comment copier quelque chose comme un bitmap passable en flash?

J'ai donc un simple projet mxml - page vide avec un panneau dessus. Je veux être en mesure de sélectionner certaines régions sur mon panneau et de le copier en quelque sorte en tant que bitmap supportable pour photoshop, mot et autres programmes.

Comment faire une telle chose? (Libs, articles, etc.)

Modifier - Peut-être pas possible dans FP10 mais FP 10.1 vous pouvez l'avoir =) Voir BETA ActionScript 3.0 Reference for the Adobe Flash Platform 10.1 pas la meilleure façon jamais, mais aucune façon ce qui est si jamais

  • première utilisation ClipboardFormats - HTML_FORMAT (qui IS pris en charge par FP10)
  • Créer des modèles HTML
  • Intégrer yo ur BitmapData à elle (Utilisez les encodeurs)
  • Maintenant vous pouvez le coller dans Word et d'autres programms

Répondre

4

Vous ne pouvez pas faire avec Flex/Flash, mais vous pouvez prendre une photo et sauvegarder que pour le système de fichiers et l'importation de cette image dans Photoshop, etc. Voici un exemple:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml"> 

    <mx:Script> 
     <![CDATA[ 
      import mx.graphics.codec.PNGEncoder; 
      import flash.display.BitmapData; 

      protected function saveAsPNG(target:Sprite, path:String):void 
      { 
       var bitmapData:BitmapData = new BitmapData(target.width, target.height); 
       bitmapData.draw(target); 

       var image:PNGEncoder = new PNGEncoder(); 
       var byteArray:ByteArray = image.encode(bitmapData); 

       var file:FileReference = new FileReference(); 
       file.save(byteArray, path); 
      } 
     ]]> 
    </mx:Script> 

    <mx:Panel width="100%" height="100%"> 
     <mx:HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle"> 
      <mx:Panel width="50%" height="50%"/> 
      <mx:Panel width="50%" height="50%"/> 
     </mx:HBox> 
    </mx:Panel> 

    <mx:Button label="Save As.." click="saveAsPNG(this, 'MyImage.png')"/> 

</mx:Application> 

Si vous utilisez AIR, vous pouvez save Bitmaps to the Clipboard. Découvrez ce AIR Clipboard Application avancé.

Vous pourriez également être en mesure de faire ce qui suit:

(je ne sais pas si c'est possible)

Il semble que vous ne puissiez même pas copier des images dans le presse-papiers en javascript. Si vous utilisez un Mac, vous pouvez utiliser ceci: Command+Ctrl+Shift+4.

espoir qui aide, Lance

+0

pourquoi nous ne pouvons sauver bitmaps le Presse-papiers dans FP? – Rella

+0

Je pense que c'est pour éviter les failles de sécurité. La classe Clipboard est AIR Only (http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/desktop/Clipboard.html) également: /. http://www.adobe.com/devnet/flashplayer/articles/fplayer10_security_changes.html –

Questions connexes