In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

StringをBitmap化してみたよ

テキストをビットマップ化させるサンプル。
*要所要所でコメントアウトしてる部分はフォントの読み込み。
*フォントを埋め込んだSWFファイルを読み込んでる。
Get Adobe Flash player
by axcelwork 02 Apr 2009
    Embed
/*
 *テキストをビットマップ化させるサンプル。
 *要所要所でコメントアウトしてる部分はフォントの読み込み。
 *フォントを埋め込んだ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;
      }
}