AS3でスムージング設定済みのBitmapにBitmapDataを再設定するとスムージング設定が消えるらしい

AS3で画像にスムージングをかけて表示するには、Bitmap.smoothingを使えばいい。

例えばこんな感じだ。

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と再設定する。まんどくさい。

コメント

このブログの人気の投稿

レオナルド・ダ・ビンチはなぜノートを「鏡文字」で書いたのか?

macでsmb(samba)共有サーバーに別名で接続(別アカウント名で接続)する方法

Google DriveにCURLでアップロードするには?