ID: FN1204007 |
Platform: All |
Version: CS6/ActionScript 3.0 |
Runtime: Flash Player 11.3/AIR 3.3 |
BitmapDataクラス |
パッケージ
|
flash.display
|
継承
|
BitmapData → Object
|
drawWithQuality()メソッド |
実装
|
public function drawWithQuality(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false, quality:String = null):void
|
概要
|
参照するBitmapDataインスタンスに対して、引数に指定したDisplayObjectまたはBitmapDataインスタンスのイメージを描画する。
|
引数
|
source:IBitmapDrawable − 描画するイメージとなるDisplayObjectあるいはBitmapDataインスタンスなどIBitmapDrawableインターフェイスを実装するクラスのオブジェクト。
matrix:Matrix − 描画イメージを座標変換するMatrixオブジェクト。変換が不要なときはnull(デフォルト値)を渡す。
colorTransform:ColorTransform − 描画イメージのカラーを調整するColorTransformオブジェクト。調整が不要なときはnull(デフォルト値)を渡す。
blendMode:String − 描画するイメージに適用するブレンドモードを示す文字列。BlendModeクラスの定数で指定する[*1]。デフォルト値はnull(指定なし)。
clipRect:Rectangle − 描画するイメージの領域を指定するRectangleオブジェクト。デフォルト値はnullでクリッピングしない。
smoothing:Boolean − 第1引数のsourceにBitmapDataインスタンスを渡したとき、スムージングするかどうかを定めるブール(論理)値。trueを指定するとスムージングされ、イメージを回転したりサイズ変更しても滑らかになる。デフォルト値はfalseで、スムージングせず、描画負荷は軽くなる。
quality:String − StageQualityクラスの定数。デフォルト値はfalse
|
戻り値
|
なし。
|
説明
BitmapData.drawWithQuality()メソッドは、Flash Player 11.3から備わりました。
第1引数に渡したDisplayObjectあるいはBitmapDataインスタンスのイメージを、Flashランタイムのベクターレンダラーにより、メソッドが参照するBitmapDataインスタンスに描画します。第1引数のオブジェクトは、インターフェイスIBitmapDrawableでデータ型が定められます。
第2引数以降は、描画の仕方を決めるオプションです。第2引数は座標変換のMatrixオブジェクト、第3引数がカラー調整のColorTransformオブジェクト、第4引数でブレンドモードを選び、第5引数で描画する領域がRectangleオブジェクトで定められます。第1引数の描画もとオブジェクトがBitmapDataのときには、第6引数でスムージングするかどうかをブール(論理)値で指定できます。
第1から第6引数までの定め方とメソッドの処理結果は、BitmapData.draw()メソッドとまったく同じです。BitmapData.drawWithQuality()メソッドの違いは、第7引数が備わって、描画品質を選べるようになったことです[*2]。渡す値は、下表001のStageQualityクラスの定数です。Flash Player 11.3から、StageQuality.HIGH_16X16とStageQuality.HIGH_16X16_LINEAR、StageQuality.HIGH_8X8およびStageQuality.HIGH_8X8_LINEARの4つの定数が加わりました。
表001■StageQualityクラスの定数
定数 |
値 |
品質 |
アンチエイリアス |
ビットマップのスムージング |
BEST
|
"best"
|
最高
|
4×4ピクセルグリッド
|
つねにあり
|
HIGH
|
"high"
|
高い
|
4×4ピクセルグリッド
|
Bitmap.smoothingの設定
|
HIGH_16X16
|
"16x16"
|
最高
|
16×16ピクセルグリッド
|
つねにあり
|
HIGH_16X16_LINEAR
|
"16x16linear"
|
最高
|
16×16ピクセルグリッド
リニアsRGBスペース
|
つねにあり
|
HIGH_8X8
|
"8x8"
|
最高
|
8×8ピクセルグリッド
|
つねにあり
|
HIGH_8X8_LINEAR
|
"8x8linear"
|
最高
|
8×8ピクセルグリッド
リニアsRGBスペース
|
つねにあり
|
LOW
|
"low"
|
低い
|
なし
|
なし
|
MEDIUM
|
"medium"
|
中程度
|
2×2ピクセルグリッド
|
Bitmap.smoothingの設定
|
[*1] 第4引数blendModeに指定するBlendModeクラスの定数は、[プロパティ]インスペクタのブレンドモードに対応させると、下表002のとおりです。他にもうひとつ、Shaderインスタンスでブレンドを設定する定数BlendMode.SHADERがあります。
表002■ブレンドモードとクラスの定数
ブレンドモード
|
BlendModeクラスの定数
|
標準
|
NORMAL
|
レイヤー
|
LAYER
|
比較(暗)
|
DARKEN
|
乗算
|
MULTIPLY
|
比較(明)
|
LIGHTEN
|
スクリーン
|
SCREEN
|
オーバーレイ
|
OVERLAY
|
ハードライト
|
HARDLIGHT
|
加算
|
ADD
|
減算
|
SUBTRACT
|
差の絶対値
|
DIFFERENCE
|
反転
|
INVERT
|
アルファ
|
ALPHA
|
消去
|
ERASE
|
|
|
[*2] BitmapData.draw()メソッドを用いる場合には、Stage.qualityプロパティでステージのレンダリング品質を変えてからメソッドを呼出すことにより、描画の品質は変えられました(その後、Stage.qualityプロパティはもとの値に戻す)。たとえば、「手動によるビットマップキャッシュ」がこの手法を紹介しています。けれど、BitmapData.drawWithQuality()メソッドを使えば、この手間が要りません。
|
参考
[ActionScript 3.0 Reference for the Adobe Flash Platform] > [BitmapData]の「drawWithQuality() method」の項
作成者: 野中文雄
更新日: 2012年6月9日 Flash Player 11.3正式公開にともない、「参考」のリンクを正規ドキュメントに変更。
作成日: 2012年4月12日