| <?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
initialize="initData();"
applicationComplete="initApplication()"
paddingLeft="0"
paddingTop="20"
paddingBottom="0"
paddingRight="0"
>
<mx:Style source="Style.css" />
<mx:Script>
<![CDATA[
// *********************************************************
// Image コントロールから画像保存
// *********************************************************
import mx.formatters.*;
import mx.graphics.codec.*;
private var loadRef:FileReference;
private var bmp:BitmapData = null;
private var png:ByteArray;
private var enc:PNGEncoder;
private var loader:Loader
// *********************************************************
// ログ表示
// *********************************************************
public function firebug(data:Object):void {
var fmt:DateFormatter = new DateFormatter();
fmt.formatString = "YYYY/MM/DD HH:NN:SS";
var logdt:String = fmt.format( new Date );
ExternalInterface.call(
"console.log", logdt,
data+""
);
}
// *********************************************************
// アプリケーションの初期化
// *********************************************************
public function initData():void {
}
// *********************************************************
// アプリケーションの初期化( 画面構築後 )
// *********************************************************
public function initApplication():void {
// ローカルファイル用
loadRef = new FileReference();
loader = new Loader();
// 選択完了時にバイナリロード開始
loadRef.addEventListener(Event.SELECT,
function(event:Event):void {
firebug( "選択完了" );
loadRef.load();
}
);
// バイナリロード完了
loadRef.addEventListener(Event.COMPLETE,
function(event:Event):void {
// この時点ではまだ ByteArray なので、
// Bitmap に変換する為に
// Loader オブジェクトで再度ロード
firebug( "ByteArray ロード完了" );
loader.loadBytes(loadRef.data);
}
);
// 画像ロード完了
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
function(event:Event):void {
firebug( "画像ロード完了" );
// Image コントロールに Bitmap をセットして表示
imageCheck.source = Bitmap(event.target.content)
}
);
}
// *********************************************************
// ロード
// *********************************************************
public function loadImage():void {
// 表示チェック
loadRef.browse();
}
]]>
</mx:Script>
<mx:Panel
title="Image オブジェクトに画像データを直接ロード"
horizontalAlign="center"
paddingTop="10"
paddingLeft="0"
paddingRight="0"
paddingBottom="30"
width="600"
>
<mx:Button
id="loadButton"
label="ロード"
click="loadImage();"
width="200"
/>
<mx:Image
id="imageCheck"
width="400"
height="300"
/>
</mx:Panel>
</mx:Application>
| |