|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Object | +--com.nttdocomo.ui.ImageEncoder
キャンバスやオフスクリーンイメージに描画された画像を JPEG形式等にエンコードする機能を提供します。
getEncoderメソッドにより、
ImageEncoderのインスタンスを取得します。
例えば、JPEG形式に変換するImageEncoderを取得する場合、
getEncoderメソッドの引数に"JPEG"と指定します。
ImageEncoderオブジェクトのencodeメソッドを呼び出すことにより、
CanvasやImageオブジェクトの内容を取り出して、
JPEG形式などに変換します。
変換結果は、EncodedImageオブジェクトとして得られます。
EncodedImageオブジェクトからは、
エンコードされた画像のファイルイメージおよびそのサイズを取得できます。
また、MediaImageオブジェクトとして取り出すことも可能です。
ImageEncoderオブジェクトは再利用することができ、
encodeメソッドを何度でも呼び出すことができます。
変換対象の画像は、Canvasオブジェクト、 およびgetGraphicsメソッドがUnsupportedOperationExceptionをスローしない Imageオブジェクトです。 これらのオブジェクトと変換対象の領域を指定して encodeメソッドを呼び出すことにより、変換が行われます。
ミニマムスペック:
| フィールドの概要 | |
static int |
ATTR_QUALITY_HIGH
変換品質属性の一つで品質優先を表します(=0)。 |
static int |
ATTR_QUALITY_LOW
変換品質属性の一つで変換結果のデータサイズ優先を表します(=2)。 |
static int |
ATTR_QUALITY_STANDARD
変換品質属性の一つで標準を表します(=1)。 |
static int |
QUALITY
変換の品質を制御する属性です(=0)。 |
| メソッドの概要 | |
EncodedImage |
encode(Canvas canvas,
int x,
int y,
int width,
int height)
指定するCanvasオブジェクトの内容をJPEGデータ等に変換します。 |
EncodedImage |
encode(Image img,
int x,
int y,
int width,
int height)
指定するImageオブジェクトの内容をJPEGデータ等に変換します。 |
static ImageEncoder |
getEncoder(String format)
変換する画像の形式を指定してImageEncoderのインスタンスを取得します。 |
boolean |
isAvailable(int attr)
属性が制御可能かどうかを調べます。 |
void |
setAttribute(int attr,
int value)
変換に関する属性値を設定します。 |
| クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
public static final int QUALITY
属性値として、
ATTR_QUALITY_LOW、
ATTR_QUALITY_STANDARD、
ATTR_QUALITY_HIGH
を指定することができます。
品質属性がどのように変換に使用されるかは変換アルゴリズムに依存しますが、
通常、高品質になるほど、変換結果のデータサイズも大きくなります。
JPEG形式の場合、
Camera
クラスの品質属性と同じ意味を持ちます。
setAttribute(int, int),
isAvailable(int),
定数フィールド値public static final int ATTR_QUALITY_HIGH
public static final int ATTR_QUALITY_STANDARD
public static final int ATTR_QUALITY_LOW
| メソッドの詳細 |
public static ImageEncoder getEncoder(String format)
format - 変換する画像の形式を文字列で指定します。
JPEG形式に変換する場合、"JPEG"を指定します。
NullPointerException - 引数 format が null の場合に発生します。
UIException - サポートされない画像の形式を指定した場合に発生します
(UNSUPPORTED_FORMAT)。
public EncodedImage encode(Image img,
int x,
int y,
int width,
int height)
Image.getGraphics()メソッドによりGraphicsオブジェクトが取得できる
Imageオブジェクトのみ指定することができます。
ダブルバッファリングを使用している場合、
バックバッファ内容が取得されます。
すなわち、
lockメソッドを使用する場合も使用しない場合も、
描画内容が同じであれば同じ結果が得られます。
XStringの文字列が描画されたImageオブジェクトを指定して
このメソッドを実行すると、
セキュリティ違反により強制終了します。
(XStringクラスを参照)
img - 変換するImageオブジェクトを指定します。x - 変換する領域の左上のX座標を指定します。y - 変換する領域の左上のY座標を指定します。width - 変換する領域の幅を指定します。height - 変換する領域の高さを指定します。
UnsupportedOperationException - 引数 img のオブジェクトがオプションAPIで定義された
Imageのサブクラスであり、
かつ、encode がサポートされていない場合に発生します。
NullPointerException - 引数 img が null の場合に発生します。
IllegalArgumentException - width、height のいずれかまたは両方が0以下の場合に発生します。
UIException - 引数 img のオブジェクトがdisposeされている場合に発生します
(ILLEGAL_STATE)。
IllegalArgumentException - getGraphicsメソッドによりGraphicsオブジェクトを取得できない
Imageオブジェクトを指定した場合に発生します。
IllegalArgumentException - 指定した領域が指定したImageオブジェクトの領域をはみ出している場合に発生します。
UIException - リソース不足により変換できなかった場合に発生します
(NO_RESOURCES)。
UIException - リソース不足以外の理由により変換に失敗した場合に発生します
(UNDEFINED)。
Image.getGraphics()
public EncodedImage encode(Canvas canvas,
int x,
int y,
int width,
int height)
ダブルバッファリングを使用している場合、
バックバッファ内容が取得されます。
すなわち、lock
メソッドを使用する場合も使用しない場合も、
描画内容が同じであれば同じ結果が得られます。
XStringの文字列が描画されたCanvasオブジェクトを指定して
このメソッドを実行すると、
セキュリティ違反により強制終了します。
(XStringクラスを参照)
canvas - 変換するCanvasオブジェクトを指定します。x - 変換する領域の左上のX座標を指定します。y - 変換する領域の左上のY座標を指定します。width - 変換する領域の幅を指定します。height - 変換する領域の高さを指定します。
UnsupportedOperationException - 引数 canvas のオブジェクトがオプションAPIで定義された
Canvasのサブクラスであり、
かつ、encode がサポートされていない場合に発生します。
NullPointerException - 引数 canvas が null の場合に発生します。
IllegalArgumentException - 引数 width、height のいずれかまたは両方が0以下場合に発生します。
IllegalArgumentException - 指定した領域が指定したCanvasオブジェクトの領域をはみ出している場合に発生します。
UIException - 指定したCanvasオブジェクトがカレントフレームでない場合、
Dialogが表示中である場合、
IME起動中である場合に発生します(ILLEGAL_STATE)。
UIException - リソース不足により変換できなかった場合に発生します
(NO_RESOURCES)。
UIException - リソース不足以外の理由により変換に失敗した場合に発生します
(UNDEFINED)。
public void setAttribute(int attr,
int value)
attr - 設定する属性を指定します。value - 設定する属性の値を指定します。
IllegalArgumentException - 引数 attr で指定された有効な属性に対して、
引数 value に不正な値が指定された場合に発生します。
public final boolean isAvailable(int attr)
setAttribute(int, int) メソッドで制御することが可能です。
ImageEncoderが属性の制御をサポートしていない場合は false を返します。
存在しない属性が指定された場合は false を返します。
attr - 属性の種類を指定します。
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
NTT DoCoMo,Inc.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。