|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
カメラ機能を実現するためのインタフェースです。このインタフェースを実装したオブジェクトは、スキームに "camera:"
を指定してConnector.open()メソッドを呼び出すことで取得できます。このインタフェースの機能について、以下に説明します。
静止画の撮影において、このインタフェースが実現する機能を以下に示します。
このインタフェースでは、以下の撮影用パラメータを指定できます。
フレーム画像の概念を図1に示します。
図1. フレーム画像の概念
フレーム画像とは、撮影した画像を修飾する画像の事です。 Javaアプリケーションから、撮影時に使用するフレーム画像を指定できます。撮影画像とフレーム画像の合成は、ネイティブシステム内で行われ、取得する撮影画像は合成済みのものが返されます。
静止画の撮影の基本処理シーケンスを以下に示します。
"camera:"
を
指定して呼び出すことにより、CameraConnection インタフェースを実装したオブジェクトを取得します。
countAvailablePictureSizes()
メソッドにて、ネイティブシステムでサポートされている画像サイズの種類の数を取得します。その後で、0から(countAvailablePictureSizes()
の戻り値-1)までの値をインデックスとして、実際の画像サイズを、CameraConnection インタフェースの getPictureWidth()
および getPictureHeight()
にて取得します。
isSupported()
メソッドにて、ネイティブシステムでサポートされている画像の保存形式を取得します。
setPictureSize()
setPictureQuality()
setPictureFormat()
setPictureFrame()
capture()
メソッドを呼び出して、撮影します。
getFileName()
メソッドを呼び出すことにより、撮影データのファイル名を取得します。
フィールドの概要 | |
static int |
CHKTYPE_FORMAT_JPEG
isSupported() でチェックする内容が、JPEG形式での保存のサポートの有無であることを示します。 |
static int |
CHKTYPE_FORMAT_PNG
isSupported() でチェックする内容が、PNG形式での保存をサポートの有無であることを示します。 |
static int |
FORMAT_JPEG
画像の保存形式がJPEG形式であることを示します。 |
static int |
FORMAT_PNG
画像の保存形式がPNG形式であることを示します。 |
static int |
QUALITY_FINE
画像品質がファインであることを示します。 |
static int |
QUALITY_NORMAL
画像品質がノーマルであることを示します。 |
static int |
QUALITY_SUPERFINE
画像品質がスーパーファインであることを示します。 |
メソッドの概要 | |
void |
capture()
ネイティブシステム内のカメラアプリケーションを起動して、静止画を撮影します。 |
int |
countAvailablePictureSizes()
ネイティブシステムでサポートされている画像サイズの種類の数を取得します。 |
java.lang.String |
getFileName()
撮影した画像のファイル名を取得します。 |
int |
getPictureHeight(int sizeId)
インデックスに対応する画像サイズの高さを取得します。 |
int |
getPictureWidth(int sizeId)
インデックスに対応する画像サイズの幅を取得します。 |
boolean |
isSupported(int chkType)
カメラアプリケーションの特定の機能のサポートの有無を、ネイティブシステムから取得します。 |
void |
setPictureFormat(int format)
画像の保存形式を設定します。 |
void |
setPictureFrame(byte[] bytes)
撮影で使用するフレーム画像データをネイティブシステムに渡します。 |
void |
setPictureFrame(java.lang.String frameFileName)
撮影で使用するフレーム画像のファイルを設定します。 |
void |
setPictureQuality(int quality)
撮影する画像の品質を設定します。 |
void |
setPictureSize(int sizeId)
撮影する画像のサイズを設定します。 |
インタフェース javax.microedition.io.Connection から継承したメソッド |
close |
フィールドの詳細 |
public static final int CHKTYPE_FORMAT_JPEG
isSupported()
でチェックする内容が、JPEG形式での保存のサポートの有無であることを示します。public static final int CHKTYPE_FORMAT_PNG
isSupported()
でチェックする内容が、PNG形式での保存をサポートの有無であることを示します。public static final int QUALITY_NORMAL
public static final int QUALITY_FINE
public static final int QUALITY_SUPERFINE
public static final int FORMAT_JPEG
public static final int FORMAT_PNG
メソッドの詳細 |
public boolean isSupported(int chkType) throws java.lang.IllegalArgumentException
OpticalDeviceConnection
内の isSupported
chkType
- サポートの有無を取得する項目。CHKTYPE_FORMAT_JPEG
、CHKTYPE_FORMAT_PNG
のどちらかを指定する。chkType
で、指定された形式をネイティブシステムがサポートしている場合は true
、サポートしていない場合は false
java.lang.IllegalArgumentException
- 引数 chkType
が CHKTYPE_FORMAT_JPEG
またはCHKTYPE_FORMAT_PNG
以外の場合に発生するpublic int countAvailablePictureSizes()
public int getPictureWidth(int sizeId) throws java.lang.IllegalArgumentException
sizeId
- 画像サイズを指すインデックス。0 から countAvailablePictureSizes()
の戻り値 - 1
までの値を指定する。sizeId
に指定されたインデックスに対応する画像サイズの幅(単位はピクセル)。sizeId
に 0 が指定された場合はネイティブシステムの実画面の幅、1 が指定された場合は写メール向けの幅を返す。java.lang.IllegalArgumentException
- 引数 sizeId
が、0 から countAvailablePictureSizes()
の戻り値 - 1
以外の場合に発生するcountAvailablePictureSizes()
public int getPictureHeight(int sizeId) throws java.lang.IllegalArgumentException
sizeId
- 画像サイズを指すインデックス。0 から countAvailablePictureSizes()
の戻り値 - 1
までの値を指定する。sizeId
に指定されたインデックスに対応する画像サイズの高さ(単位はピクセル)。sizeId
に 0 が指定された場合はネイティブシステムの実画面の高さ、1 が指定された場合は写メール向けの高さを返す。java.lang.IllegalArgumentException
- 引数 sizeId
が、0 から countAvailablePictureSizes()
の戻り値 - 1
以外の場合に発生するcountAvailablePictureSizes()
public void setPictureSize(int sizeId) throws java.lang.IllegalArgumentException
sizeId
- 画像サイズを指すインデックス。0 から countAvailablePictureSizes()
の戻り値 - 1
までの値で指定する。java.lang.IllegalArgumentException
- 引数 sizeId
が、0 から countAvailablePictureSizes()
の戻り値 - 1
以外の場合に発生するpublic void setPictureQuality(int quality) throws java.lang.IllegalArgumentException
quality
- 画像の品質。QUALITY_NORMAL
、QUALITY_FINE
、またはQUALITY_SUPERFINE
のどれかを指定する。java.lang.IllegalArgumentException
- 引数 quality
が、QUALITY_NORMAL
、QUALITY_FINE
、またはQUALITY_SUPERFINE
以外の場合に発生するpublic void setPictureFormat(int format) throws java.lang.IllegalArgumentException
format
- 画像の保存形式。FORMAT_JPEG
、FORMAT_PNG
のどちらかを指定する。java.lang.IllegalArgumentException
- 引数 format
が、ネイティブシステムがサポートしていない保存形式の場合、または不正な値の場合に発生するpublic void setPictureFrame(java.lang.String frameFileName)
StorageConnection
インタフェースで定義されているパス名と同じ形式で、
ルートから指定してください。frameFileName
- フレーム画像ファイルのパス名。フレーム画像を使用しないときは、 null
を指定する。public void setPictureFrame(byte[] bytes)
bytes
- フレーム画像データを格納しているバイト配列。フレーム画像を使用しないときは、 null
を指定する。public void capture() throws java.io.IOException
getFileName()
により、撮影した画像のファイル名を取得できます。
ネイティブシステム内のカメラアプリケーションが起動している間、すべてのJavaスレッドはブロックされます。
このメソッドを呼び出す前に、静止画撮影について、以下に示すパラメータ が指定可能です。カッコ内はそのパラメータを設定するメソッドです。
setPictureSize()
)
setPictureQuality()
)
setPictureFormat()
)
setPictureFrame()
)
これらのパラメータを指定しないでこのメソッドを呼び出した場合は、以下 に示す値が撮影に適用されます。
QUALITY_FINE
)
FORMAT_JPEG
)
Javaアプリケーションが指定した画像サイズおよび画像保存形式と、画像品質との組み合わせにネイティブシステムが対応していない場合は、撮影時にネイティブシステムの対応している画像品質に自動的に合わせられます(例:スーパーファインからファイン)。
OpticalDeviceConnection
内の capture
java.io.IOException
- ネイティブシステムでサポートしていない画像サイズ、画像保存形式、画像品質が指定された場合、または撮影時にエラーが発生した場合に発生する。setPictureSize()
,
setPictureQuality()
,
setPictureFormat()
,
setPictureFrame()
public java.lang.String getFileName()
capture()
の呼び出し後、ネイティブシステムのカメラアプリケーションで最初に撮影した画像のファイル名となる。
ユーザーによるキャンセルが発生した場合、または、
着信および通話後にカメラアプリケーションを再起動することができなかった場合は、null
を返す。
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |