com.j_phone.util
クラス ImageUtil

java.lang.Object
  |
  +--com.j_phone.util.ImageUtil

public class ImageUtil
extends java.lang.Object

イメージ生成拡張機能を提供するクラスです。

明度調整、色調反転、モノクロ2階調、グレースケール、単色カラー、マスク画像指定透過画像生成の機能を提供します。

このクラスでは、mutableなImageオブジェクトだけを操作の対象としています。

導入されたバージョン:
JSCL 1.2.2

メソッドの概要
static javax.microedition.lcdui.Image adjustBrightness(javax.microedition.lcdui.Image src, int brightness)
          明度を調整したイメージを生成します。
static javax.microedition.lcdui.Image createGrayScale(javax.microedition.lcdui.Image src)
          グレースケールに変換したイメージを生成します。
static javax.microedition.lcdui.Image createMaskedImage(javax.microedition.lcdui.Image src, byte[] bytes)
          マスク画像データ指定による透過画像を生成します。
static javax.microedition.lcdui.Image createMaskedImage(javax.microedition.lcdui.Image src, java.lang.String maskFileName)
          マスク画像ファイル指定による透過画像を生成します。
static javax.microedition.lcdui.Image createMonotone(javax.microedition.lcdui.Image src, int thresholdLevel)
          モノクロ2階調に2値化したイメージを生成します。
static javax.microedition.lcdui.Image overwrapColor(javax.microedition.lcdui.Image src, int rgb)
          単色カラー化したイメージを生成します。
static javax.microedition.lcdui.Image reverseColor(javax.microedition.lcdui.Image src)
          色調を反転したイメージを生成します。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

adjustBrightness

public static javax.microedition.lcdui.Image adjustBrightness(javax.microedition.lcdui.Image src,
                                                              int brightness)
明度を調整したイメージを生成します。

引数 src に指定された Image オブジェクトを、指定された明度に調整し、 新しいmutableな Image オブジェクトを生成します。

明度に 0 が指定された場合は、渡された Image オブジェクトをそのまま戻り値に返します。

指定された明度に対する実表示上の明度は、ネイティブシステムの実装に依存します。

パラメータ:
src - Imageオブジェクト
brightness - 明度(-5 〜 5)。負の値は暗く、正の値は明るく調整する。 それぞれ5段階存在する。
戻り値:
明度を調整したmutableなImageオブジェクト。
例外:
NullPointerException - 引数 srcnull の場合に発生する
java.lang.IllegalArgumentException - 引数 src に指定されたImageオブジェクトが immutable の場合 または 引数 brightness が -5 よりも小さいか 5 よりも大きい場合に発生する
java.lang.RuntimeException - ネイティブシステムが本機能をサポートしていない、 または処理に失敗した場合に発生する

reverseColor

public static javax.microedition.lcdui.Image reverseColor(javax.microedition.lcdui.Image src)
色調を反転したイメージを生成します。

引数 src に指定された Image オブジェクトの色調を反転し、 新しいmutableな Image オブジェクトを生成します。

パラメータ:
src - Imageオブジェクト
戻り値:
色調を反転したmutableなImageオブジェクト。
例外:
NullPointerException - 引数 srcnull の場合に発生する
java.lang.IllegalArgumentException - 引数 src に指定されたImageオブジェクトが immutable の場合
java.lang.RuntimeException - ネイティブシステムが本機能をサポートしていない、 または処理に失敗した場合に発生する

createMonotone

public static javax.microedition.lcdui.Image createMonotone(javax.microedition.lcdui.Image src,
                                                            int thresholdLevel)
モノクロ2階調に2値化したイメージを生成します。

引数 src に指定された Image オブジェクトを 指定されたしきい値をもとに2値化し、 新しいmutableな Image オブジェクトを生成します。

パラメータ:
src - Imageオブジェクト
thresholdLevel - 2値化のしきい値(0 〜 255)。
戻り値:
2値化したmutableなImageオブジェクト。
例外:
NullPointerException - 引数 srcnull の場合に発生する
java.lang.IllegalArgumentException - 引数 src に指定されたImageオブジェクトが immutable の場合 または 引数 thresholdLevel が 0 よりも小さいか 255 よりも大きい場合に発生する
java.lang.RuntimeException - ネイティブシステムが本機能をサポートしていない、 または処理に失敗した場合に発生する

createGrayScale

public static javax.microedition.lcdui.Image createGrayScale(javax.microedition.lcdui.Image src)
グレースケールに変換したイメージを生成します。

引数 src に指定された Image オブジェクトをグレースケールに変換し、 新しいmutableな Image オブジェクトを生成します。

パラメータ:
src - Imageオブジェクト
戻り値:
グレースケールに変換したmutableなImageオブジェクト。
例外:
NullPointerException - 引数 srcnull の場合に発生する
java.lang.IllegalArgumentException - 引数 src に指定されたImageオブジェクトが immutable の場合に発生する
java.lang.RuntimeException - ネイティブシステムが本機能をサポートしていない、 または処理に失敗した場合に発生する

overwrapColor

public static javax.microedition.lcdui.Image overwrapColor(javax.microedition.lcdui.Image src,
                                                           int rgb)
単色カラー化したイメージを生成します。

引数 src に指定された Image オブジェクトを 指定された色(RGB値)の階調つきの単色画像に変換して、 新しいmutableな Image オブジェクトを生成します。

パラメータ:
src - Imageオブジェクト
rgb - 単色カラー化する色。0x00RRGGBB の形式で指定する。ビット31〜24の値は無視される。
戻り値:
単色カラー化したmutableなImageオブジェクト。
例外:
NullPointerException - 引数 srcnull の場合に発生する
java.lang.IllegalArgumentException - 引数 src に指定されたImageオブジェクトが immutable の場合に発生する
java.lang.RuntimeException - ネイティブシステムが本機能をサポートしていない、 または処理に失敗した場合に発生する

createMaskedImage

public static javax.microedition.lcdui.Image createMaskedImage(javax.microedition.lcdui.Image src,
                                                               java.lang.String maskFileName)
                                                        throws java.io.IOException
マスク画像ファイル指定による透過画像を生成します。

引数 src に指定された mutable な Image オブジェクトを、 引数 maskFilename に指定された透過情報を持つマスク画像でマスクした 新しいimmutableな Image オブジェクトを生成します。

maskFilename に指定するマスク画像ファイルは、 StorageConnection インタフェースで定義されているパス名と同じ形式で、 ルートから指定してください。

図1に透過画像の生成例を示します。

createMaskedImage.gif

図1. 透過画像の生成例

生成した透過画像を別のイメージ上に描画すると、 元画像のマスク画像の非透過部分と重なる部分だけが描画されます。以下に描画例を示します。

createMaskedImage_2.gif

図2. 透過画像の描画例

パラメータ:
src - Imageオブジェクト
maskFileName - マスク画像ファイル
戻り値:
マスク透過したimmutableなImageオブジェクト
例外:
NullPointerException - 引数 srcnull の場合 または 引数 maskFileNamenull の場合
java.lang.IllegalArgumentException - 引数 src に指定されたImageオブジェクトが immutable の場合に発生する
java.io.IOException - 引数 maskFileName に指定されたマスク画像ファイルの形式が不正または PNG 以外の場合に発生する
java.lang.RuntimeException - ネイティブシステムが本機能をサポートしていない、 または引数 maskFileName に指定されたマスク画像ファイルのデータサイズがネイティブシステム側で扱える上限を超えたとき(上限値はネイティブシステムに依存)、 または処理に失敗した場合に発生する

createMaskedImage

public static javax.microedition.lcdui.Image createMaskedImage(javax.microedition.lcdui.Image src,
                                                               byte[] bytes)
                                                        throws java.io.IOException
マスク画像データ指定による透過画像を生成します。

引数 src に指定された mutable な Image オブジェクトを、 引数 bytes に指定された透過情報を持つマスク画像(バイト列)でマスクした 新しいimmutableな Image オブジェクトを生成します。

透過画像の例は、createMaskedImage() を参照してください。

パラメータ:
src - Imageオブジェクト
bytes - マスク画像データを格納しているバイト配列
戻り値:
マスク透過したimmutableなImageオブジェクト
例外:
NullPointerException - 引数 srcnull の場合 または 引数 bytesnull の場合
java.lang.IllegalArgumentException - 引数 src に指定されたImageオブジェクトが immutable の場合に発生する
java.io.IOException - 引数 bytes に指定されたマスク画像データの形式が不正または PNG 以外の場合に発生する
java.lang.RuntimeException - ネイティブシステムが本機能をサポートしていない、 または引数 bytes に指定されたマスク画像データのサイズがネイティブシステム側で扱える上限を超えたとき(上限値はネイティブシステムに依存)、 または処理に失敗した場合に発生する