Flex copy and paste

时间:2024-09-10 11:04:26

<?xml version="1.0" encoding="utf-8"?> 
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
    <mx:Script> 
        <![CDATA[ 
            private function copyData():void 
            { 
             Clipboard.generalClipboard.clear(); 
             Clipboard.generalClipboard.setData( 
             ClipboardFormats.TEXT_FORMAT,textIn.text); 
            } 
             
            private function PasteData():void 
            { 
             textOut.text=Clipboard.generalClipboard.getData( 
             ClipboardFormats.TEXT_FORMAT) as String; 
             
            } 
             
             
        ]]> 
    </mx:Script> 
    <mx:TextArea id="textIn" x="97" y="43" width="253" height="115"  /> 
    <mx:TextArea id="textOut" x="97" y="166" width="253" height="115"/> 
    <mx:Button x="97" y="289" label="Copy"  click="copyData()"/> 
    <mx:Button x="159" y="289" label="Paste" click="PasteData()"/> 
</mx:WindowedApplication>

下面是一段复制图片的操作:

尝试复制图片

<?xml version="1.0" encoding="utf-8"?> 
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
    <mx:Script> 
        <![CDATA[ 
            private function copyData():void 
            { 
             Clipboard.generalClipboard.clear(); 
             Clipboard.generalClipboard.setData( 
             ClipboardFormats.TEXT_FORMAT,textIn.text); 
            } 
             
            private function PasteData():void 
            { 
             textOut.text=Clipboard.generalClipboard.getData( 
             ClipboardFormats.TEXT_FORMAT) as String; 
             
            } 
             
            private function copyImage():void 
            { 
             Clipboard.generalClipboard.clear(); 
             var bd:BitmapData=new BitmapData(myImage.width,myImage.height); 
             bd.draw(myImage); 
             Clipboard.generalClipboard.setData( 
             ClipboardFormats.BITMAP_FORMAT,bd); 
            }    
             
        ]]> 
    </mx:Script> 
    <mx:TextArea id="textIn" x="84" y="10" width="253" height="115"  /> 
    <mx:TextArea id="textOut" x="84" y="133" width="253" height="115"/> 
    <mx:Button x="84" y="256" label="Copy"  click="copyData()"/> 
    <mx:Button x="146" y="256" label="Paste" click="PasteData()"/> 
    <mx:Button x="84" y="421" label="copyImage" click="copyImage()"/> 
    <mx:Image  id="myImage" source="pic.jpg" x="84" y="286" width="212" height="127"/> 
</mx:WindowedApplication>

同样可以复制图片到其他编辑软件里面去:

参考文档:

Clipboard 类提供用于通过剪贴板和拖放操作传输数据和对象的容器。通过静态 
generalClipboard
属性可以访问操作系统剪贴板。

Clipboard 对象可以包含多种格式的相同信息。通过以多种格式提供信息,可以增加另一个应用程序能够使用该信息的机会。使用 
setData()
或 
setDataHandler()
方法向 Clipboard 对象添加数据。

标准格式是:

BITMAP_FORMAT:BitmapData 对象 
FILE_LIST_FORMAT:File 对象的数组 
HTML_FORMAT:HTML 格式的字符串数据 
RICH_TEXT_FORMAT:包含 RTF 格式数据的 ByteArray 
TEXT_FORMAT:字符串数据 
URL_FORMAT:URL 字符串

用作这些格式的常量在 ClipboardFormats 类中定义。