forked from: [Base64] wonderfl に任意の画像を埋め込む
forked from [Base64] wonderfl に任意の画像を埋め込む (diff: 7)
Base64での画像テクスチャ貼り付け実験です。 今度はFirefoxだけでなくIE、Google Chromeでも動作しました。 Base64便利だなぁ。
ActionScript3 source code
/**
* Copyright siouxcitizen ( http://wonderfl.net/user/siouxcitizen )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/sgtD
*/
// forked from clockmaker's [Base64] wonderfl に任意の画像を埋め込む
// forked from hikipuro's 2009-3-14 wonderfl に任意の画像を埋め込む
//Base64での画像テクスチャ貼り付け実験です。
//今度はFirefoxだけでなくIE、Google Chromeでも動作しました。
//Base64便利だなぁ。
package
{
import flash.display.*;
import flash.events.*;
/**
* Base64 化された画像を wonderfl に埋め込むサンプル
*/
[SWF(width="465", height="465", backgroundColor="0xFFFFFF", frameRate="60")]
public class Main extends Sprite
{
// 画像データ
private const IMAGE:String = "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"
/**
* コンストラクタ
*/
public function Main():void
{
var img:DisplayObjectContainer = Base64ImageLoader.load(IMAGE);
if (img != null)
{
var sprite:Sprite = addChild(new Sprite) as Sprite;
sprite.addChild(img);
img.x = - 450 / 2;
img.y = - 300 / 2;
sprite.x = stage.stageWidth / 2;
sprite.y = stage.stageHeight / 2;
addEventListener(Event.ENTER_FRAME, function():void
{
sprite.rotationY += 0.5;
})
}
}
}
}
/**
* Base64化された画像データを表示可能な形式に変換するクラス
*
* 使い方 :
* var data:String = "Base64化された画像データ";
* var display:DisplayObjectContainer = Base64ImageLoader.load(data);
* if (display != null)
* addChild(display);
*/
class Base64ImageLoader
{
import flash.display.DisplayObjectContainer;
import flash.display.Loader;
import flash.utils.ByteArray;
import mx.utils.Base64Decoder;
static public function load(data:String):DisplayObjectContainer
{
var byteArray:ByteArray;
var base64Decoder:Base64Decoder;
var loader:Loader;
base64Decoder = new Base64Decoder();
base64Decoder.decode(data);
try {
byteArray = base64Decoder.toByteArray();
byteArray.position = 0;
} catch (e:Error) {
return null;
}
loader = new Loader();
loader.loadBytes(byteArray);
return loader;
}
}
