« BitmapData | メイン | Gmail »

April 03, 2007

Smoothing

ビットマップフォントなど、ドットで構成される文字を拡大したときに見える輪郭のギザギザ(シャギー、エイリアシング)を滑らかに補正する機能のこと。ライブラリーからビットマッププロパティを開いて、スムージングにチェックをすればOK。また、ASでもできるのでそれについてメモしておきます。

import flash.display.BitmapData;
var imgLoader:MovieClipLoader = new MovieClipLoader();
var imgListener:Object = new Object();
imgListener.onLoadInit = function(target_mc:MovieClip):Void {
var _mc:MovieClip = target_mc._parent;
bitmapSmoothing(target_mc, _mc.photo);
_mc.onRelease = function():Void {
(中略)
};
};
imgLoader.addListener(imgListener);
base_mc.createEmptyMovieClip("loader", 1);
base_mc.loader._x = -120;
base_mc.loader._y = -90;
imgLoader.loadClip("cat.jpg", base_mc.loader);

function bitmapSmoothing(loader, holder):Void {

var _bd:BitmapData = new BitmapData

(loader._width, loader._height, true);

_bd.draw(loader);

holder.attachBitmap(_bd, 0, "auto", true);

loader.removeMovieClip();

}

外部からロードしたJPEGに、ビットマップスムージングをかけるには、ロードした画像をonInitのタイミングでBitmapDataにコピーし、コピーのほうをスムージングtrueでアタッチしてオリジナル画像を消去する。

imgLoader.loadClip("frog.png", base_mc.loader);
function bitmapSmoothing(loader, holder):Void {
var _bd:BitmapData = new BitmapData
(loader._width, loader._height, true, 0x00000000);
_bd.draw(loader);
holder.attachBitmap(_bd, 0, "auto", true);
loader.removeMovieClip();
}

投稿者 ikoma : April 3, 2007 01:21 AM

トラックバック

このエントリーのトラックバックURL:
http://www.publicroots.com/cgi-bin/mt/mt-tb.cgi/24

コメント

コメントしてください




保存しますか?