DistorImageを(今更)試す…

  • 2008 年 4月 8 日
  • kosuke

DistorImageは台形などゆがみを表現するのに便利に使えます。


先日のページをめくるイメージを作る際、DistorImageを試したので自分なりにまとめました。既にtrick7.comさんや閃光的網站・弛緩複合体 -Review Division-さんなど著名なブログで詳しく説明されています。
僕は以前、台形つくるのにラインで走査していくように作っていたので結構おどろいた。
こういうクラスを作る人も情報をキャッチする人もすごいね。もっぱら使いこなす方に回ってます。
シンプルで汎用的なクラスですし、いろいろな場面で使えると思いました。

DistortImage

 

・プロパティ

smoothing以外は読み込み専用プロパティ。

■height : Number
ゆがみ処理をするイメージの高さ。

■hPrecision : uint
水平方向に分割する数。

■smoothing : Boolean = true
trueの場合、ゆがんだ画像はスムージング処理をされて描かれます。

■vPrecision : uint
垂直方向に分割する数。

■width : Number
ゆがみ処理をするイメージの幅。

 

・メソッド

■DistortImage(w:Number, h:Number, hseg:uint = 2, vseg:uint = 2)
コンストラクタ。DistortImageのインスタンスを作り、画像のゆがみを制御します。
w = ゆがみ処理をするイメージの幅。
h = ゆがみ処理をするイメージの高さ。
hseg = 水平方向に分割する数。
vseg = 垂直方向に分割する数。
wとhのサイズで元画像がクリッピングされる感じです。
hseg、vsegはuintで正の整数にします。
負の数を渡すとフリーズするようです。

■setPrecision(horizontal:Number, vertical:Number):void
水平・垂直各方向に分割する数を再設定します。
horizontal = 水平方向に分割する数。
vertical = 垂直方向に分割する数。
ん?何故でこちらはNumber??

■setSize(width:Number, height:Number):void
ゆがみ処理するイメージの幅・高さを再設定します。
hseg = 水平方向に分割する数。
vseg = 垂直方向に分割する数。

■setTransform(graphics:Graphics, bmd:BitmapData, tl:Point, tr:Point, br:Point, bl:Point):void
対象グラフィックスにゆがんだイメージを描きます。
graphics = ゆがんだイメージを描く対象。(shape.graphicsみたいな感じで渡します。)
bmd = ゆがませる元のビットマップデータ。
tl = ゆがんだイメージの左上の位置をポイントで渡します。
tr = ゆがんだイメージの右上の位置をポイントで渡します。
bl = ゆがんだイメージの左下の位置をポイントで渡します。
br = ゆがんだイメージの右下の位置をポイントで渡します。

“DistorImageを(今更)試す…” に 2 件のコメント

  1. Gravatar Icon BL画像 より:

    いいblogですね
    読んでしまいました
    ありがとう

  2. Gravatar Icon kosuke より:

    BL画像さん
    励みになります!
    ありがとうございます。

  3. コメントをどうぞ