StringをBitmap化してみたよ
テキストをビットマップ化させるサンプル。
*要所要所でコメントアウトしてる部分はフォントの読み込み。
*フォントを埋め込んだSWFファイルを読み込んでる。
/*
*テキストをビットマップ化させるサンプル。
*要所要所でコメントアウトしてる部分はフォントの読み込み。
*フォントを埋め込んだSWFファイルを読み込んでる。
*/
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.display.Bitmap;
/**
* ...
* @author axcel-work
*/
[ SWF( backgroundColor = "0xfafaef", frameRate = "30", width = "384", height = "70") ]
public class Main extends Sprite {
//[Embed( source = "font/Vladimir.swf", fontName="Vladimir Script" )]
//private var myfont:Class;
public function Main():void{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
/* stageの初期設定 */
stage.scaleMode = "noScale";
stage.align = "left";
var getText:String = "StringをBitmap化してみたよ";
/* インスタンスの作成 */
var txtBimap:TextBitmap = new TextBitmap( 0xbaa565 );
/* Bitmapを作成 */
var txtSample:Bitmap = TextBitmap.setTextField( getText, 20 );
txtSample.x = 10;
txtSample.y = 10;
addChild( txtSample );
}
}
}
/*
* ここからカスタムクラス
* Stringが渡されたらBitmap化するよ
*/
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import flash.display.Bitmap;
import flash.display.BitmapData;
/**
* ...
* @author axcel-work
*/
class TextBitmap extends Sprite {
public static var txtText:TextField;
public static var tf:TextFormat;
public static var bitmapText:Bitmap;
public static var bitmapDataText:BitmapData;
/*
* コンストラクタ:TextFormatの設定
* @param --> setColor [int]
*/
public function TextBitmap( setColor:int = 0xFFFFFF ) {
/* TextFormatの設定 */
tf = new TextFormat();
tf.color = setColor;
//tf.font = "Vladimir Script";
}
/*
* メソッド:文字列を受け取ってTextFieldを返す
* @param --> targetText [String]
* @param --> font_size [int]
*/
public static function setTextField( targetString:String, font_size:int ):Bitmap {
/* TextFieldを作成するよ */
txtText = new TextField();
txtText.autoSize = "left";
//txtText.embedFonts = true;
txtText.text = targetString;
/* TextFormatの設定 */
tf.size = font_size;
txtText.setTextFormat( tf );
/* Bitmapにするよ */
bitmapDataText = new BitmapData( txtText.width + 10, txtText.height + 10, true, 0x00FFFFFF );
bitmapDataText.draw( txtText );
bitmapText = new Bitmap( bitmapDataText );
return bitmapText;
}
}