| 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日