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と再設定する。まんどくさい。
コメント
コメントを投稿