0

これについては、フォーラムのいくつかの質問で読みました。しかし、常に、人々は「Bitmap createScaledBitmap (Bitmap src, int dstWidth, int dstHeight, boolean filter)」という方法を使用することになりますが、大きな画像を扱う場合、メモリ不足のメッセージで失敗するため、この方法を適用できません。

すでに撮影した大きな画像のサイズを変更する方法を知りたいです。大きなビットマップの Android 開発者セクションを読みましたが、実装できませんでした。

次のコードを使用して写真をキャプチャしています。

public void openTakePicture() {

        String date = new SimpleDateFormat("dd-MM-yyyy_HH-mm-ss").format(new Date());

        photoname = "pic_" + date + ".jpg";

        // Create an output file.
        file = new File(Environment.getExternalStorageDirectory(), photoname);
        outputFileUri = Uri.fromFile(file);

        // Generate the Intent.
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

        // Launch the camera app.
        startActivityForResult(intent, TAKE_PICTURE);

    }

コメントしてくれてありがとう

4

1 に答える 1

1

必要に応じて、小さな画像をキャプチャして操作することができます。以下に似たものを使用していましたが、一部のカメラが setPictureSize をサポートしていないという問題に遭遇したため、スケーリングされたビットマップ アプローチを使用することになりました。

setPictureSize を呼び出す前に、カメラが目的のサイズをサポートしているかどうかをテストする必要がある場合があります。

parameters.setPictureFormat(ImageFormat.JPEG);
parameters.setPictureSize(1600, 1200);
parameters.setJpegQuality(30);
mCamera.setParameters(parameters);
于 2014-04-28T21:45:49.850 に答える