5

ハイエンドのNokia電話(N95)で画像キャプチャをしようとしています。電話の内部カメラは非常に優れています (4 メガピクセル) が、j2me では最大 1360x1020 の画像しか出力できないようです。私はこの例から大部分を引き出しましたhttp://developers.sun.com/mobility/midp/articles/picture/

私がしたことは、640x480 から始めて、失敗するまで幅と高さをそれぞれ 80 と 60 増やしました。コード行は次のとおりです。

jpg = mVideoControl.getSnapshot("encoding=jpeg&quality=100&width=" + 幅 + "&height=" + 高さ);

したがって、2 つの問題は次のとおりです。 1. 1360x1020 を超える画像を取得すると、電話機が例外をスローします。2. 解像度の高い画像は、小さい画像を滑らかにしただけのように見えます。たとえば、640x480 の画像をフォトショップで拡大すると、これと 1360x1020 と思われる画像の違いがわかりません。

これは電話での j2me の制限ですか? もしそうなら、j2meアプリケーション内からより高い解像度を取得する方法や、別のアプリケーション内からネイティブカメラにアクセスする方法を知っている人はいますか?

4

3 に答える 3

6

Nokia フォーラムのこの説明が役立つ場合があります。

「キャプチャできる最大画像サイズは、選択した画像形式、エンコード オプション、および利用可能な空きヒープ メモリによって異なります」と表示されます。

「したがって、少なくとも大きな画像 (1mpix より大きい) を JPEG 画像として、共通の画像サイズ (たとえば、2mpix の場合は 1600x1200 など) でキャプチャすることを強くお勧めします。サポートされる共通の画像サイズは、製品とプラットフォームのバージョンによって異なります。」

したがって、1. 1600x1200、1024x768、および N95 ガイドで言及されている画像解像度で 2. BMP と PNG も同様に試してみることをお勧めします。

とにかく、私の以前の経験 (古い可能性があります) に基づくと、j2me の実装にはバグがたくさんあるため、問題に対する有効な解決策がない可能性があります。

于 2008-12-02T14:40:34.550 に答える
3

カメラの解像度はネイティブで 2582 x 1944 です。そこをキャプチャしてみて、様子を見てください。

この場所: http://developers.sun.com/mobility/midp/articles/picture/index.html

次の使用について言及しています。

byte[] raw = mVideoControl.getSnapshot(null);
Image image = Image.createImage(raw, 0, raw.length);

ネイティブ解像度を取得するために raw を使用するのは興味深いようです。

于 2008-12-07T08:57:18.653 に答える
1

JPEG の「品質」(コードによって解釈される) は、解像度とは関係ありません。むしろ、画像がどれだけ圧縮されているかに関係しています。100 の品質の 640x480 の画像は、50 の 640x480 の画像よりも明らかに見栄えが良くなりますが、より多くのストレージ スペースを使用します。

代わりにこれを試してください:

jpg = mVideoControl.getSnapshot("encoding=jpeg&quality=100&width=2048&height=1536");
于 2008-10-28T08:48:10.633 に答える