com.nttdocomo.opt.ui
クラス Graphics2

Object
  |
  +--com.nttdocomo.ui.Graphics
        |
        +--com.nttdocomo.opt.ui.Graphics2

public class Graphics2
extends com.nttdocomo.ui.Graphics

拡張グラフィックスクラスです。 機種依存の描画処理やスプライト、3D グラフィクスの描画機能などを持ちます。
拡張グラフィクスをサポートしている場合は、paint メソッドに渡される グラフィクスオブジェクトや getGraphics メソッドで返されるグラフィクス オブジェクトは、実際には Graphics2 クラスのインスタンスとなっています。 例えば下記のような形で使い分けることができます。

 class MyCanvas extends Canvas{
     public void pain(Graphics g) {
         if (g instanceof Grpahics2) {
             Graphics2 g2 = (Graphics2)g;
             g2.drawImageMap(im);
             g2.drawSpriteSet(ss);
             ...
         } else {
             g.drawImage(i);
             ...
         }
     }
 }
 
端末によってサポートされていない場合があります。未サポートの場合、 メソッドが呼び出された時点でUnsupportedOperationExceptionを発生します。

導入されたバージョン:
DoJa-2.0

フィールドの概要
static int CM_NORMAL
           描画時の座標モードのうち、ノーマルモードを表します(=0)。
static int CM_ZOOM
           描画時の座標モードのうち、256倍にズームするモードを表します(=256)。
static int FLIP_HORIZONTAL
           イメージ描画時の反転方法のうち、横方向に鏡像反転することを表します(=1)。
static int FLIP_NONE
           イメージ描画時の反転方法のうち、反転しないことを表します(=0)。
static int FLIP_ROTATE
           イメージ描画時の反転方法のうち、縦横方向に鏡像反転(180度回転)することを表します(=3)。
static int FLIP_VERTICAL
           イメージ描画時の反転方法のうち、縦方向に鏡像反転することを表します(=2)。
static int OP_ADD
           レンダリング時の演算方法のうち、「加算」を表します(=1)。
static int OP_REPL
           レンダリング時の演算方法のうち、「置き換え」を表します(=0)。
static int OP_SUB
           レンダリング時の演算方法のうち、「減算」を表します(=2)。
 
クラス com.nttdocomo.ui.Graphics から継承したフィールド
AQUA, BLACK, BLUE, FLIP_ROTATE_LEFT, FLIP_ROTATE_RIGHT, FUCHSIA, GRAY, GREEN, LIME, MAROON, NAVY, OLIVE, PURPLE, RED, SILVER, TEAL, WHITE, YELLOW
 
コンストラクタの概要
protected Graphics2()
           
 
メソッドの概要
 void drawImage(com.nttdocomo.ui.Image image, AffineTrans at)
           イメージに 2 次元のアフィン変換をかけて描画します。
 void drawImage(com.nttdocomo.ui.Image image, AffineTrans at, int sx, int sy, int width, int height)
           イメージの一部に 2 次元のアフィン変換をかけて描画します。
 void drawImageMap(ImageMap map, int x, int y)
          推奨されていません。  
 void drawNthImage(com.nttdocomo.ui.MediaImage image, int k, int x, int y)
           アニメーションGIFファイルから生成した 複数の画像をもつメディアイメージオブジェクトの任意の画像を描画します。
 void drawNumber(int x, int y, int value, int digit)
           数値を右詰めで描画します。
 void drawScaledImage(com.nttdocomo.ui.Image image, int dx, int dy, int width, int height, int sx, int sy, int swidth, int sheight)
           イメージを拡大・縮小して描画します。
 void drawSpriteSet(SpriteSet sprites)
          推奨されていません。  
 void drawSpriteSet(SpriteSet sprites, int offset, int count)
          推奨されていません。  
 com.nttdocomo.ui.Image getImage(int x, int y, int width, int height)
           矩形領域のピクセルをイメージとして取得します。
static int getIntermediateColor(int color1, int color2, int ratio)
           指定された2色の中間色を取得します。
 int getPixel(int x, int y)
          推奨されていません。  
 void setCoordinateMode(int mode)
           描画時の座標指定モードを設定します。
 void setFlipMode(int flipmode)
          推奨されていません。  
 void setPixel(int x, int y)
          推奨されていません。  
 void setPixel(int x, int y, int color)
          推奨されていません。  
 void setRenderMode(int operator, int srcRatio, int dstRatio)
           レンダリング時の演算方法を設定します。
 
クラス com.nttdocomo.ui.Graphics から継承したメソッド
clearClip, clearRect, clipRect, copy, copyArea, dispose, drawArc, drawChars, drawImage, drawImage, drawImage, drawImage, drawImageMap, drawLine, drawPolyline, drawPolyline, drawRect, drawSpriteSet, drawSpriteSet, drawString, drawString, drawString, fillArc, fillPolygon, fillPolygon, fillRect, getColorOfName, getColorOfRGB, getPixels, getRGBPixel, getRGBPixels, lock, setClip, setColor, setFont, setOrigin, setPictoColorEnabled, setPixels, setRGBPixel, setRGBPixels, unlock
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

CM_NORMAL

public static final int CM_NORMAL
描画時の座標モードのうち、ノーマルモードを表します(=0)。

関連項目:
setCoordinateMode(int), 定数フィールド値

CM_ZOOM

public static final int CM_ZOOM
描画時の座標モードのうち、256倍にズームするモードを表します(=256)。

関連項目:
setCoordinateMode(int), 定数フィールド値

FLIP_NONE

public static final int FLIP_NONE
イメージ描画時の反転方法のうち、反転しないことを表します(=0)。

[DoJa-3.0]
このフィールドは com.nttdocomo.ui.Graphics クラスにも追加されたので、そちらを使うことを推奨します。

関連項目:
setFlipMode(int), 定数フィールド値

FLIP_HORIZONTAL

public static final int FLIP_HORIZONTAL
イメージ描画時の反転方法のうち、横方向に鏡像反転することを表します(=1)。

[DoJa-3.0]
このフィールドは com.nttdocomo.ui.Graphics クラスにも追加されたので、そちらを使うことを推奨します。

関連項目:
setFlipMode(int), 定数フィールド値

FLIP_VERTICAL

public static final int FLIP_VERTICAL
イメージ描画時の反転方法のうち、縦方向に鏡像反転することを表します(=2)。

[DoJa-3.0]
このフィールドは com.nttdocomo.ui.Graphics クラスにも追加されたので、そちらを使うことを推奨します。

関連項目:
setFlipMode(int), 定数フィールド値

FLIP_ROTATE

public static final int FLIP_ROTATE
イメージ描画時の反転方法のうち、縦横方向に鏡像反転(180度回転)することを表します(=3)。

[DoJa-3.0]
このフィールドは com.nttdocomo.ui.Graphics クラスにも追加されたので、そちらを使うことを推奨します。

関連項目:
setFlipMode(int), 定数フィールド値

OP_REPL

public static final int OP_REPL
レンダリング時の演算方法のうち、「置き換え」を表します(=0)。

関連項目:
setRenderMode(int, int, int), 定数フィールド値

OP_ADD

public static final int OP_ADD
レンダリング時の演算方法のうち、「加算」を表します(=1)。

関連項目:
setRenderMode(int, int, int), 定数フィールド値

OP_SUB

public static final int OP_SUB
レンダリング時の演算方法のうち、「減算」を表します(=2)。

関連項目:
setRenderMode(int, int, int), 定数フィールド値
コンストラクタの詳細

Graphics2

protected Graphics2()
メソッドの詳細

setCoordinateMode

public void setCoordinateMode(int mode)
描画時の座標指定モードを設定します。
  • CM_NORMAL が指定された場合、通常の座標指定モードになります。
  • CM_ZOOM が指定された場合、描画メソッドの引数に指定された座標値に Graphics.setOrigin(int, int) で指定された座標を加算して、 さらに 1/256 した値を実際に描画する座標値として使用します。

パラメータ:
mode - 座標指定モードを指定します。 CM_NORMALCM_ZOOM のいずれかを指定できます。
例外:
IllegalArgumentException - 引数 mode に不正な値が指定された場合に発生します。

setFlipMode

public void setFlipMode(int flipmode)
推奨されていません。  

イメージの描画時に反転を行うかどうかを設定します。
反転描画の指定がどの描画メソッドで有効となるかは機種依存です。 また、反転描画の対象が転送元イメージのクリッピング処理と競合した場合(Graphics#drawImage(Image, int, int, int, int, int, int)において、イメージをはみ出すような転送元矩形領域を指定した場合など)の動作に関しても機種依存です。

[DoJa-3.0]
このメソッドは com.nttdocomo.ui.Graphics クラスにも追加されたので、そちらを使うことを推奨します。 このメソッドの実装は、単にGraphics.setFlipMode(int) メソッドを呼び出すだけです。

オーバーライド:
クラス com.nttdocomo.ui.Graphics 内の setFlipMode
パラメータ:
flipmode - イメージの描画時の反転方法を指定します。 FLIP_NONEFLIP_HORIZONTALFLIP_VERTICALFLIP_ROTATE のいずれかを指定します。
例外:
IllegalArgumentException - 引数 flipmode に不正な値が指定された場合に発生します。

setRenderMode

public void setRenderMode(int operator,
                          int srcRatio,
                          int dstRatio)
レンダリング時の演算方法を設定します。 描画先のキャンバスまたはイメージのピクセル値のRGB成分を (DR, DG, DB)、 描画色のRGB成分を (SR, SG, SB) とした時、i = R, G, B について、それぞれ下記のような演算が行われます。
  • 引数 operator が OP_REPL の場合
    Di = Si * srcRatio
  • 引数 operator が OP_ADD の場合
    Di = Di * dstRatio + Si * srcRatio
  • 引数 operator が OP_SUB の場合
    Di = Di * dstRatio - Si * srcRatio
レンダリング時の演算方法の指定がどの描画メソッドで有効かは機種依存です。
srcRatio, dstRatioに指定できる値は0から255とします。指定した値は255を1.0とした比率でDiが計算されます。 なお、端末によっては、指定したsrcRatio, dstRatioの値は、端末がサポートしている固定値に丸められる場合があります。
演算結果が0-255の範囲を越えた場合は上限/下限値として解釈されます。

パラメータ:
operator - 演算方法を指定します。 OP_REPLOP_ADDOP_SUB のいずれかを指定します。
srcRatio - ソースピクセルの乗数を0から255の範囲で指定します。
dstRatio - デスティネーションピクセルの乗数を0から255の範囲で指定します。
例外:
IllegalArgumentException - 引数 operator に不正な値が指定された場合に発生します。
IllegalArgumentException - 引数 srcRatio, dstRatio に不正な値が指定された場合に発生します。

setPixel

public void setPixel(int x,
                     int y)
推奨されていません。  

点を描画します。 点(x, y)を Graphics.setColor(int) メソッドで設定された色で描画します。

[DoJa-3.0]
このメソッドは com.nttdocomo.ui.Graphics クラスにも追加されたので、そちらを使うことを推奨します。 このメソッドの実装は、単にGraphics.setPixel(int,int) メソッドを呼び出すだけです。

オーバーライド:
クラス com.nttdocomo.ui.Graphics 内の setPixel
パラメータ:
x - 点のX座標を指定します。
y - 点のY座標を指定します。

setPixel

public void setPixel(int x,
                     int y,
                     int color)
推奨されていません。  

点を描画します。 点(x, y)を引数で指定された色で描画します。

[DoJa-3.0]
このメソッドは com.nttdocomo.ui.Graphics クラスにも追加されたので、そちらを使うことを推奨します。 このメソッドの実装は、単にGraphics.setPixel(int,int,int) メソッドを呼び出すだけです。

オーバーライド:
クラス com.nttdocomo.ui.Graphics 内の setPixel
パラメータ:
x - 点のX座標を指定します。
y - 点のY座標を指定します。
color - 描画する色を指定します。指定する値は、Graphics.getColorOfRGB メソッド等で返される機種依存の色を表す整数値です。
例外:
IllegalArgumentException - 引数 color に不正な値が指定された場合に発生します。

getPixel

public int getPixel(int x,
                    int y)
推奨されていません。  

点の色を取得します。 点(x, y)のピクセル値を取得します。 ピクセル値は、Graphics#setClip(int, int, int, int)メソッド等によって設定されたユーザクリッピング領域には関わりなく取得できます。
ただし、グラフィクスオブジェクトが関連付けられているキャンバスまたはイメージの範囲外の座標が指定された場合は0を返します。 また、グラフィクスオブジェクトが関連付けられているキャンバスがカレントフレームでない場合にも0を返します。
Dialog表示中に本メソッドが返す値は機種依存となります。

[DoJa-3.0]
このメソッドは com.nttdocomo.ui.Graphics クラスにも追加されたので、そちらを使うことを推奨します。 このメソッドの実装は、単にGraphics.getPixel(int,int) メソッドを呼び出してその戻り値を返すだけです。

オーバーライド:
クラス com.nttdocomo.ui.Graphics 内の getPixel
パラメータ:
x - 点のX座標を指定します。
y - 点のY座標を指定します。
戻り値:
点のピクセル値を返します。返される値は、機種依存の色を表す整数値です。 描画対象のキャンバスやイメージの範囲外を グラフィクスオブジェクトが関連付けられているキャンバスまたはイメージの範囲外の座標が指定された場合は 0 を返します。

getImage

public com.nttdocomo.ui.Image getImage(int x,
                                       int y,
                                       int width,
                                       int height)
矩形領域のピクセルをイメージとして取得します。 グラフィクスオブジェクトが関連付けられているキャンバスまたはイメージの 左上(x, y), 右下(x + width - 1, y + height - 1)で構成される矩形 (幅width, 高さheight) に描画されているピクセルの内容を、 新たに生成したイメージオブジェクトとして取得します。
イメージは、Graphics#setClip(int, int, int, int)メソッド等によって設定されたユーザクリッピング領域には関わりなく取得できます。
ただし、グラフィクスオブジェクトが関連付けられているキャンバスまたはイメージの範囲外を含む矩形領域を指定した場合には、範囲外の領域を切り落として取得します。 この場合、取得されるイメージのサイズは(width, height)よりも小さくなります。
なお、取得されるイメージはImage.createImage(int, int)メソッドによって取得されるイメージと同様の、オフスクリーンイメージとなります。
Dialog表示中に本メソッドが取得するイメージの内容は、機種依存となります。

パラメータ:
x - 矩形の左上のX座標を指定します。
y - 矩形の左上のY座標を指定します。
width - 矩形の幅を指定します。
height - 矩形の高さを指定します。
戻り値:
矩形領域に描画されているピクセルをの内容を持つイメージオブジェクトを生成して返します。
例外:
IllegalArgumentException - 引数 width, height のどちらかまたは両方に 0 以下の値が指定された場合に発生します。

drawNumber

public void drawNumber(int x,
                       int y,
                       int value,
                       int digit)
数値を右詰めで描画します。 描画位置は、ベースラインの座標を指定します。 描画位置から指定された桁数分の領域内に数値を右詰で描画します。
固定幅フォントの場合には、「(無限の空白文字列)+(valueを文字列化したもの)」を右からdigit文字分切り出して、Graphics#drawStringを呼び出すのと同等の処理となります。 valueに負の値が指定された場合には、「(無限の空白文字列)+(マイナス記号'-')+(-valueを文字列化したもの)」を右からdigit文字分切り出したものとなります。
したがって、指定digitが小さくて桁数に収まらない場合には、数値文字列の右の部分(小さい桁)のみが描画され、左の部分(大きい桁)は描画されません。
プロポーショナルフォントの場合の振舞いは機種依存となりますが、指定された桁数の任意の数値を表示するのに十分な矩形領域をとらなければなりません。

パラメータ:
x - X座標を指定します。
y - Y座標を指定します。
value - 描画する数値を指定します。
digit - 桁数を指定します。
例外:
IllegalArgumentException - 引数 digit に0以下の値が指定された場合に発生します。

drawScaledImage

public void drawScaledImage(com.nttdocomo.ui.Image image,
                            int dx,
                            int dy,
                            int width,
                            int height,
                            int sx,
                            int sy,
                            int swidth,
                            int sheight)
イメージを拡大・縮小して描画します。 描画元のイメージの(sx, sy)-(sx + swidth - 1, sy + sheight - 1)の矩形領域を 描画先の(dx, dy)-(dx + width - 1, dy + height - 1)の矩形領域にちょうど 収まるように拡大または縮小して描画します。 本メソッドの実行には時間がかかる場合があります。
拡大縮小のアルゴリズムは機種依存です。
なお、width, height, swidth, sheightのいずれかが0である場合には、何も描画されません。
また、転送元矩形領域がイメージの領域外へはみ出している場合、はみ出した部分に対応する転送先領域には何も描画されませんが、 その他の部分については正常に拡大または縮小して描画します。 この時の拡大率は、はみ出しによるクリッピング処理に関わらず常に一定(width/swidth, height/sheight)となります。 描画するイメージが透過ありのイメージだった場合の動作は機種依存です。 また、グラフィックスオブジェクトがイメージと関連付けられていて、かつそのイメージが描画元のイメージと同一であり、描画元と描画先の矩形領域が重なる場合には、正常な描画結果は保証されません。

[DoJa-3.0]
このメソッドは com.nttdocomo.ui.Graphics クラスにも追加されたので、そちらを使うことを推奨します。 このメソッドの実装は、単に Graphics.drawScaledImage(Image,int,int,int,int,int,int,int,int) メソッドを呼び出すだけです。

オーバーライド:
クラス com.nttdocomo.ui.Graphics 内の drawScaledImage
パラメータ:
image - 描画するイメージオブジェクトを指定します。
dx - 描画先の X 座標を指定します。
dy - 描画先の Y 座標を指定します。
width - 描画先の矩形の幅を指定します。
height - 描画先の矩形の高さを指定します。
sx - 描画元の矩形の左上の X 座標を指定します。
sy - 描画元の矩形の左上の Y 座標を指定します。
swidth - 描画元の矩形の幅を指定します。
sheight - 描画元の矩形の高さを指定します。
例外:
NullPointerException - 引数 image に null が指定された場合に発生します。
IllegalArgumentException - 引数 width, height, swidth, sheight のいずれかまたはすべてに 0 未満の値が指定された場合に発生します。
com.nttdocomo.ui.UIException - 引数 image に既に dispose されているイメージが指定された場合に発生します(ILLEGAL_STATE)。

drawImage

public void drawImage(com.nttdocomo.ui.Image image,
                      AffineTrans at)
イメージに 2 次元のアフィン変換をかけて描画します。

イメージ上の座標 (x, y) の画素は、 以下のような行列演算によって求められる座標 (x', y') に描画されます。

 [ x']      1   [ m00 m01 m02  ] [ x ]
 [ y'] = ------ [ m10 m11 m12  ] [ y ]
 [ 1 ]    4096  [  0   0  4096 ] [ 1 ]
 
引数には、3 次元アフィン変換用に用意されている AffineTrans クラスのオブジェクトを指定しますが、 その中の m00, m01, m02, m10, m11, m12 の六つの要素のみが使用されます。

パラメータ:
image - 描画するイメージオブジェクトを指定します。
at - 2次元のアフィン変換の行列を指定します。
例外:
NullPointerException - 引数 image または at に null が指定された場合に発生します。
com.nttdocomo.ui.UIException - 引数 image に既に dispose されているイメージが指定された場合に発生します(ILLEGAL_STATE)。
導入されたバージョン:
DoJa-3.5

drawImage

public void drawImage(com.nttdocomo.ui.Image image,
                      AffineTrans at,
                      int sx,
                      int sy,
                      int width,
                      int height)
イメージの一部に 2 次元のアフィン変換をかけて描画します。

イメージ上の座標 (x, y) の画素は、 以下のような行列演算によって求められる座標 (x', y') に描画されます。

 [ x']      1   [ m00 m01 m02  ] [ x ]
 [ y'] = ------ [ m10 m11 m12  ] [ y ]
 [ 1 ]    4096  [  0   0  4096 ] [ 1 ]
 
引数には、3 次元アフィン変換用に用意されている AffineTrans クラスのオブジェクトを指定しますが、 その中の m00, m01, m02, m10, m11, m12 の六つの要素のみが使用されます。

パラメータ:
image - 描画するイメージオブジェクトを指定します。
at - 2次元のアフィン変換の行列を指定します。
sx - 描画元の矩形の左上の X 座標を指定します。
sy - 描画元の矩形の左上の Y 座標を指定します。
width - 描画元の矩形の幅を指定します。
height - 描画元の矩形の高さを指定します。
例外:
NullPointerException - 引数 image または at に null が指定された場合に発生します。
IllegalArgumentException - 引数 width, height のどちらかまたは両方に 0 未満の値が指定された場合に発生します。
com.nttdocomo.ui.UIException - 引数 image に既に dispose されているイメージが指定された場合に発生します(ILLEGAL_STATE)。
導入されたバージョン:
DoJa-3.5

drawNthImage

public void drawNthImage(com.nttdocomo.ui.MediaImage image,
                         int k,
                         int x,
                         int y)
アニメーションGIFファイルから生成した 複数の画像をもつメディアイメージオブジェクトの任意の画像を描画します。

パラメータ:
image - 描画するイメージオブジェクトを指定します。
k - 何番目のイメージを描画するかを指定します。 イメージオブジェクトが n 枚の画像をもつ場合、 有効な k の値域は 0, 1, ..., (n - 1) です。
x - 描画先のX座標を指定します。
y - 描画先のY座標を指定します。
例外:
NullPointerException - 引数 image に null が指定された場合に発生します。
com.nttdocomo.ui.UIException - 引数 image に既に unuse, dispose されているメディアイメージが指定された場合に発生します(ILLEGAL_STATE)。
IllegalArgumentException - 引数 k に負の値またはメディアイメージオブジェクトがもつ 画像の数以上の値が指定された場合に発生します。

drawSpriteSet

public void drawSpriteSet(SpriteSet sprites)
推奨されていません。  

スプライトセットを描画します。
ビジブルでないスプライト、イメージオブジェクトをもたないスプライト、 disposeされたイメージオブジェクトをもつスプライトは描画の対象になりません。

パラメータ:
sprites - スプライトセットを指定します。
例外:
NullPointerException - 引数 sprites に null が指定された場合に発生します。 また、引数 sprites に指定されているSpriteSetが保持するスプライトオブジェクト配列のサイズが0(スプライトオブジェクトがない)の場合や、 配列の要素にnullを含んでいる場合、 配列の要素であるスプライトオブジェクトにイメージオブジェクトが指定されていない(null)場合にも発生します。
com.nttdocomo.ui.UIException - 引数 sprites に指定されている SpriteSet が保持するスプライトオブジェクト配列の要素であるスプライトオブジェクトのイメージオブジェクトがdispose状態の場合に発生します(ILLEGAL_STATE)。

drawSpriteSet

public void drawSpriteSet(SpriteSet sprites,
                          int offset,
                          int count)
推奨されていません。  

スプライトセットの一部を描画します。
ビジブルでないスプライト、イメージオブジェクトをもたないスプライト、 disposeされたイメージオブジェクトをもつスプライトは描画の対象になりません。

パラメータ:
sprites - スプライトセットを指定します。
offset - 描画するスプライトのオフセットを指定します。
count - 描画するスプライトの数を指定します。
例外:
NullPointerException - 引数 sprites に null が指定された場合に発生します。 また、引数 sprites に指定されているSpriteSetが保持するスプライトオブジェクト配列のサイズが0(スプライトオブジェクトがない)の場合や、 配列の要素にnullを含んでいる場合、配列の要素であるスプライトオブジェクトにイメージオブジェクトが指定されていない(null)場合にも発生します。
ArrayIndexOutOfBoundsException - 引数 offset に負の値が指定された場合、 引数 count に負の値が指定された場合、 引数 offset または引数 offset + count の値がスプライトの数を超える場合に発生します。
com.nttdocomo.ui.UIException - 引数 sprites に指定されている SpriteSet が保持するスプライトオブジェクト配列の要素であるスプライトオブジェクトのイメージオブジェクトがdispose状態の場合に発生します(ILLEGAL_STATE)。

drawImageMap

public void drawImageMap(ImageMap map,
                         int x,
                         int y)
推奨されていません。  

イメージマップを描画します。

パラメータ:
map - イメージマップを指定します。
x - 描画先の X 座標を指定します。
y - 描画先の Y 座標を指定します。
例外:
NullPointerException - 引数 map に null が指定された場合に発生します。 また、引数mapに設定されているイメージデータ(イメージオブジェクトの配列)がnullの場合や、 引数mapに指定されているマップデータ(マップを構成する整数値配列) がnullの場合にも発生します。

getIntermediateColor

public static int getIntermediateColor(int color1,
                                       int color2,
                                       int ratio)
指定された2色の中間色を取得します。 引数ratioが0の時はcolor1と同じ色を、 255の時はcolor2と同じ色を返します。
すなわち、次式に相当する演算を行うことにより中間色が取得されます。
( (255-ratio)*color1 + ratio*color2 ) / 255
なお、具体的な中間色の算出方法は機種依存です。 演算R,G,Bの各成分ごとに上式を適用してもかまいませんし、別の色空間に変換した後に演算を行ってもかまいません。

パラメータ:
color1 - 中間色の元となる色の一つを指定します。指定する値は、Graphics.getColorOfRGB メソッド等で返される機種依存の色を表す整数値です。
color2 - 中間色の元となる色の一つを指定します。指定する値は、Graphics.getColorOfRGB メソッド等で返される機種依存の色を表す整数値です。
ratio - 中間色の、color2への近さを指定します。 指定できる範囲は0から255です。
戻り値:
color1color2の中間色を返します。返される値は、機種依存の色を表す整数値です。
例外:
IllegalArgumentException - 引数 color1, color2に不正な値が指定された場合に発生します。
IllegalArgumentException - 引数 ratio に不正な値が指定された場合に発生します。


NTT DoCoMo,Inc.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。