7

私のアプリケーションでは、カメラ アプリケーションを呼び出して写真を撮り、特定のディレクトリ (例: /sdcard など) に保存しています。

写真はJPEG画像として保存されます。画像のサイズを小さくするにはどうすればよいですか? 利用可能な画像エンコーダまたは圧縮はありますか?

別の投稿に出くわしました: Android カメラ画像のサイズを縮小

しかし、これは画像をスケーリングしています。圧縮またはエンコードできるものを探しています。出来ますか?

前もって感謝します、ペルマル

4

3 に答える 3

13

とにかくこれを試すことができるかどうかはわかりません.画像のサイズを最初に縮小するには、画像を特定のディレクトリに保存する前にビットマップに変換し、ビットマップを圧縮して画像の品質を設定し、正しいファイルに書き込む必要がありますパス。画像の品質は変更できます。これが画像のサイズを縮小するのに役立つことを願っています。

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);` 

API :

compress (Bitmap.CompressFormat format, int quality, OutputStream stream)
于 2012-04-17T04:25:40.190 に答える
1

以下のコードが役に立つかもしれません

        opt = new BitmapFactory.Options();
        opt.inTempStorage = new byte[16 * 1024];
        opt.inSampleSize = 4;
        opt.outWidth = 640;
        opt.outHeight = 480;
        Bitmap imageBitmap = BitmapFactory
                .decodeStream(in, new Rect(), opt);
        Bitmap map = Bitmap.createScaledBitmap(imageBitmap, 100, 100, true);
        BitmapDrawable bmd = new BitmapDrawable(map);
        ByteArrayOutputStream bao = new ByteArrayOutputStream();
        map.compress(Bitmap.CompressFormat.PNG, 90, bao);
        ba = bao.toByteArray();
        imagedata=Base64.encodeBytes(ba);
于 2012-04-17T04:25:20.600 に答える