差分発生行の前後
無視リスト:
コミット日時:
2008/07/09 17:30:07 (4 年前)
コミッタ:
michi
ログメッセージ:

asdoc追加

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/Utils/src/org/libspark/utils/BitmapUtil.as

    r397 r804  
    2222import flash.display.DisplayObject; 
    2323import flash.display.DisplayObjectContainer; 
     24import flash.display.IBitmapDrawable; 
    2425import flash.display.Loader; 
    2526import flash.display.Sprite; 
     
    3132import flash.errors.IllegalOperationError; 
    3233 
     34/** 
     35 * BitmapData のためのユーティリティクラスです 
     36 */ 
    3337public class BitmapUtil 
    3438{ 
     
    123127     * DisplayObjectインスタンスのキャプチャデータを作成します 
    124128     *  
    125      * @param   target 対象となるDisplayObjectインスタンス 
    126      * @return  キャプチャデータを持つBitmapDataインスタンス 
     129     * @param   target 対象となる IBitmapDrawable オブジェクト 
     130     * @return  キャプチャデータを持つ BitmapData オブジェクト 
    127131     */ 
    128     public static function capture( target:DisplayObject ):BitmapData 
     132    public static function capture (target:IBitmapDrawable):BitmapData 
    129133    { 
    130         var rect:Object = target.getBounds( target ); 
     134                if (target is BitmapData) return (target as BitmapData).clone(); 
     135                var display:DisplayObject = target as DisplayObject; 
     136        var rect:Object = display.getBounds( display ); 
    131137        var width:Number = rect.width; 
    132138        var height:Number = rect.height; 
    133139        var bitmap:BitmapData = new BitmapData(  
    134             width+1 , height+1, true, 0x00000000 ); 
     140            width , height, true, 0x00000000 ); 
    135141        var matrix:Matrix = new Matrix(); 
    136142        matrix.translate( -rect.x , -rect.y ); 
    137         bitmap.draw( target , matrix ); 
     143        bitmap.draw( display , matrix ); 
    138144        return bitmap; 
    139145    }