サイト内検索

メインメニュー

ログイン
ユーザID または e-mail:

パスワード:

IDとパスワードを記憶

パスワード紛失

新規登録

オンライン状況
17 人のユーザが現在オンラインです。 (11 人のユーザが ウェブログ を参照しています。)

 登録ユーザ: 0
 ゲスト: 17

もっと...

ウェブログ カレンダー
« « 2008 5月 » »
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

最新ブログ記事
最終更新(08/05/09)
capsule
(08/05/09)
L change the World
(08/04/27)
GAME Chart No.1
(08/04/22)
FLVPlayer (2)
(08/03/20)
FLVPlayer (1)
(08/03/20)
GAME
(08/03/16)

最近のコメント

最近のトラックバック

|
ウェブログ - ひろゆきの記事
|
 ひろゆきの記事配信

2007/01/21 Sun
 画像のスムージング設定 (2)
カテゴリ: flash : actionscript : 
画像のスムージング設定をしてみた。
外部画像を読み込んで回転してみる。

要 Flash Player 8 以上

_root に、ムービークリップ(インスタンス名: base_mc) を配置。
base_mc には、空のムービークリップ(インスタンス名: photo) を配置。
# base_mc の基準点は中央にあり、photo は base_mc の(-120, -90) に配置。

_root 第1フレームに

var imgLoader:MovieClipLoader = new MovieClipLoader();
var imgListener:Object = new Object();
imgListener.onLoadInit = function(target_mc:MovieClip):Void {
    var _mc:MovieClip = target_mc._parent;
    _mc.onRelease = function():Void {
        (中略)
    };
};
imgLoader.addListener(imgListener);
imgLoader.loadClip("cat.jpg", base_mc.photo);

と記述。

すると、左側の画像では、ギザギザがあぁ。
# Flash Player 7 書き出しでは、このようなことは起きない。

そこで、右側の画像のプロパティパネルを開いて...。
って、できないじゃーん。

そうだ!
スクリプトでビットマップスムージングを!

_root 第1フレームに

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:MovieClip, holder:MovieClip):Void {
    var _bd:BitmapData = new BitmapData(loader._width, loader._height, true);
    _bd.draw(loader);
    holder.attachBitmap(_bd, 0, "auto", true);
    loader.removeMovieClip();
}

と記述。

スムージングがかかってるよー。


実は、Flash Player 8 では、
アルファチャンネルつきPNGも読み込める。

がっ!しかし!
このままでは、透過しない。

_root 第1フレームに

    (中略)
imgLoader.loadClip("frog.png", base_mc.loader);

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

と記述。

これで、どうだー。


関連記事: BitmapDataを基礎から学ぶのだ! (1)
関連記事: 画像のスムージング設定 (1)
関連記事: 画像のスムージング設定 (2)
関連記事: BitmapDataを基礎から学ぶのだ! (3)
執筆者: ひろゆき (02:52)
ウェブログ | コメント (0) | トラックバック数 (0) | 閲覧数 (3015)
この記事のトラックバックURL  リンク・引用のないトラックバックは削除することがあります。
http://www.project-nya.jp/modules/weblog/weblog-tb.php/610
 
ブログ記事内容についての質問は、ゲスト相談室 にて投稿ください。
投稿された内容の著作権はコメントの投稿者に帰属します。
投稿者 スレッド