私のプログラムには2つの問題があります:1。写真を撮った後、これはonActivityResult()に対して私が持っているものです:
pictureTaken = (Bitmap) data.getExtras().get("data");
ImageView im = (ImageView) findViewById(R.id.view);
im.setImageBitmap(pictureTaken);
サムネイルしか表示されず(表示時の品質が悪い)、SDカードに保存すると小さな画像になります。私が必要としているのは、フル解像度/品質で保存/表示することです。これを達成するために何を変更しますか?
ユーザーが選択した画像の取得と表示は次のように機能します。
selectedImage = data.getData(); ImageView im = (ImageView) findViewById(R.id.view); im.setImageURI(selectedImage);
しかし、ユーザーが選択した画像を保存すると、ここでクラッシュします(デバッガーによって検出されます)。
...
File externalStorageFile = new File(dir, finalName);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
//Error
resourceImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
byte b[] = bytes.toByteArray();
try {
...
また、Androidで画像を保存する唯一の方法はビットマップですか?