AS3でスムージング設定済みのBitmapにBitmapDataを再設定するとスムージング設定が消えるらしい
AS3で画像にスムージングをかけて表示するには、Bitmap.smoothingを使えばいい。
例えばこんな感じだ。
このようにしてスムージング設定をしたBitmapに、次のようにしてBitmapDataをセットする。
するとトレースは、bmpdセット前ではsmoothingはtrueで、bmpdセット後ではsmoothingはfalseとなる。
つまり、スムージング設定済みのBitmapにBitmapDataをセットすると、スムージングが自動的にOFFになるらしい。知らんやった・・・
そこで、BitmapDataをセットした後にもスムージングを維持するには、セットした直後にsmoothing = trueと再設定する。まんどくさい。
例えばこんな感じだ。
function getSmoothBitmap(bmpd:BitmapData):Bitmap {
var bmp:Bitmap = new Bitmap(bmpd, "auto", true);
return bmp;
}
このようにしてスムージング設定をしたBitmapに、次のようにしてBitmapDataをセットする。
function setBitmapData(bmp:Bitmap, bmpd:BitmapData):void {
bmp.smoothing = true;
trace("setBitmapData() bmpdセット前 bmp.smoothing=" + bmp.smoothing);
bmp.bitmapData = bmpd;
trace("setBitmapData() bmpdセット後 bmp.smoothing=" + bmp.smoothing);
}
するとトレースは、bmpdセット前ではsmoothingはtrueで、bmpdセット後ではsmoothingはfalseとなる。
つまり、スムージング設定済みのBitmapにBitmapDataをセットすると、スムージングが自動的にOFFになるらしい。知らんやった・・・
そこで、BitmapDataをセットした後にもスムージングを維持するには、セットした直後にsmoothing = trueと再設定する。まんどくさい。
コメント
コメントを投稿