2010-02-23 50 views
1

如何在Flash中將某些內容複製爲可移植的位圖?如何在Flash中將某些內容複製爲可移植的位圖?

所以我有一個簡單的mxml項目 - 一個帶有面板的空白頁面。

我希望能夠在我的面板上選擇一些區域,並以某種方式將其複製爲可以貼到Photoshop,Word和其他程序的位圖。

如何做這樣的事情? (林達,文章等)

編輯 - 這可能是不可能的FP10但在FP 10.1你可以把它=) 見BETA ActionScript 3.0 Reference for the Adobe Flash Platform 10.1 不在有史以來最好的方式,但任何方式什麼使以往任何時候

  • 第一次使用ClipboardFormats - HTML_FORMAT(其中IS通過FP10支持 )
  • 創建一些模板HTML
  • 嵌入喲烏爾的BitmapData它(使用編碼器)
  • 現在你可以將其粘貼到Word和其他一些programms的

回答

4

你不能這樣做,使用Flex/Flash的,但你可以採取的快照並保存到文件系統並導入圖像傳送到Photoshop等下面是一個例子:

<?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> 

如果使用空氣,你可以save Bitmaps to the Clipboard。看看這個先進的AIR Clipboard Application

您可能也有能做到以下幾點:

(不知道這是可能的)

它看起來像你甚至無法將圖像複製到剪貼板中的JavaScript。如果你在Mac上,你可以使用這個:Command+Ctrl+Shift+4

希望幫助, 蘭斯

+0

爲什麼我們不能以位圖保存到FP剪貼板? – Rella 2010-02-23 20:19:40

+0

我認爲這是爲了防止安全漏洞。 Clipboard類僅限AIR(http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/desktop/Clipboard.html):/。 http://www.adobe.com/devnet/flashplayer/articles/fplayer10_security_changes.html – 2010-02-23 20:23:02

相關問題