
FlashPlayer10終於有了重大的改變了,聽到這個好消息,令梅干心情興奮不已,這幾天就將先前正在開發的影像人先丟一邊,把目前FlashPlayer10支援的部分作個總整理,FlashPlayer10支援本機開啟圖檔與儲存,同時還可呈現出中文的字型,這總算解決了先前將文字先載入,檔案大到嚇死人,因此今天花了一點時間,作了一個小範例,將開啟本機圖檔、儲存以及讀入本機字形作個總整,有興趣的朋友們不坊看一看吧!ps.另外感謝好友鬼佑所拍攝的照片,喜歡鬼佑的朋友們,可到他的部落格去喔!有更多好圖。
save2Disk.mxml
<?xml version=“1.0” encoding=“utf-8”?>
 mx:Script
        <![CDATA[
            import mx.controls.Alert;
            import mx.graphics.codec.JPEGEncoder;
        [Bindable]
        private var arr:Array=new Array();
        private var file:FileReference = new FileReference();
        private function init():void{
            //讀取本機端字型
            arr=Font.enumerateFonts(true);
            arr.sortOn("fontName", Array.CASEINSENSITIVE);
            var arrFont:Array=new Array;
            for(var i:int=0; i < arr.length; i++)
            {
                arrFont.push(arr[i].fontName);
            }
            arr=arrFont;
        }
        //瀏覽本機圖檔
        private function openFileClick():void{
            //支援瀏覽的副檔名
            var imagesFilter:FileFilter = new FileFilter("Images", "*.jpg;*.gif;*.png");
            this.fr.browse([imagesFilter]);
        }
        //選擇圖檔
        private function selectHandler(event:Event):void{
            this.fr.load();
        }
        //開啟後將圖檔載入到image中
        private function completeHandler(event:Event):void{
            image.source = this.fr.data;                
        }
        //儲存檔案
        private function savePic():void{
            if(fileNameTxt.text.length > 0){
                var bitmapData:BitmapData = new BitmapData(pic.width, pic.height);
                bitmapData.draw(pic,new Matrix());
                var bitmap : Bitmap = new Bitmap(bitmapData);
                bitmap.smoothing=true;
                var jpg:JPEGEncoder = new JPEGEncoder(100);
                var ba:ByteArray = jpg.encode(bitmapData);
                file.save(ba,fileNameTxt.text + ‘.jpg’);
            } else {
                Alert.show(“請輸入檔名”,”錯誤XD~”);
            }
        }           
        private function fontFamily():void
        {
            T.setStyle(“fontFamily”,this.myfonts.selectedLabel);
        }
    ]]><br />
</mx:Script><br />
<net:FileReference id="fr" 
     select="selectHandler(event)"
     complete="completeHandler(event)"/><br />
<mx:Button label="開啟本機圖檔" click="openFileClick();"/></p>
 
        
     
    
 
        
            
            
        
        
            
            
            
        
    
範例預覽
[範例下載]
 
			