0

カメラで撮影した画像を自動的にデータベースに保存するアプリケーションを作成しようとしています。ただし、保存する前に画像サイズ(MB)を確認したい。

Android Camera.Capture 開発者向けメモを読み、プログラムでサイズを調整できないことを知っています。

また、データベースにアップロードする前に一時フォルダーに保存することは認識していますが、一時フォルダーに保存せずに保存できるものを探しています。

ありがとう。

4

4 に答える 4

0

サーバーは、画像を見ることができない限り、画像のサイズを知ることができません。PHP を使用して、アップロードの最大サイズを制限できます。ファイルをサーバー上に一時ファイルとして保存したら、それをより詳細に分析できます (寸法など)。イメージが「良い」場合は、それを永続的な場所 (別のディレクトリまたはデータベース BLOB として) に移動し、そうでない場合は削除します。

于 2012-08-07T12:36:21.367 に答える
0

getRowBytes() * getHeight() はうまく機能しているようです。

于 2012-08-07T12:34:56.903 に答える
0

あなたのカメラで PictureCallback:

public void onPictureTaken(byte[] data, Camera camera)
{
  int nPictureSize = data.length;
}

圧縮された画像の長さは、単にバイト配列の長さです

于 2012-08-07T12:42:38.130 に答える
0

カスタム カメラを使用している場合、コールバックでバイト配列を受け取ります。この配列の長さを取得し、それを 1024*1024 で割ってサイズを MB で取得します。

Camera インテントを使用している場合は、bitmap.getRowbytes * bitmap.getHeight を使用してサイズを確認できるビットマップを取得し、それを 1024*1024 で割って画像サイズを MB で取得します。

于 2012-08-07T12:51:47.463 に答える