電話のカメラを使用して写真を撮って表示するアプリを書いています。問題は、高解像度カメラを搭載した携帯電話の場合、これが原因でアプリがクラッシュすることでした。そのため、isSampleSize を使用して解像度を下げ、この問題を解決しました。しかし今、私は低解像度のカメラを搭載した携帯電話で問題を抱えています - 写真の品質がひどいです. 画像メモリの消費量を確認し、それに応じて画質を下げるかどうかを判断する方法はありますか?
1007 次
1 に答える
0
画像の高さに制限があったため、画像のサイズを変更するには、以下のコードを使用してサイズを変更しました。しかし、私の高さの要件を超えていない限り、bmp のサイズを変更したくありませんでした。使用できることを願っています。(ストリームを使用して写真を取り込みました)
if (stream != null) {
img = BitmapFactory.decodeStream(stream, null, o);
float imgHeight = (float) img.getHeight();
Display display = ((WindowManager) ctx.getSystemService(
Context.WINDOW_SERVICE)).getDefaultDisplay();
float displayHeight = (float) (display.getHeight()-50);
if(imgHeight>displayHeight) {
float scaleFactor = displayHeight/imgHeight;
img = Bitmap.createScaledBitmap(img, (int)(img.getWidth()*scaleFactor), (int)(imgHeight*scaleFactor), false);
}
saveBitmap(new File(getSdPath() + location), img);
}
于 2012-05-08T12:36:37.590 に答える