2012-05-08 37 views
2

携帯電話のカメラを使って写真を撮って表示するアプリを書いています。問題は、高解像度のカメラを搭載した携帯電話ではアプリがクラッシュするため、isSampleSizeを使用して解像度を下げてこの問題を解決しました。しかし、今私は低解像度のカメラを持つ携帯電話に問題があります - 画像はひどい品質です。画像メモリの消費量を確認する方法はありますか?それに応じて、品質を下げるかどうかを決定しますか?画像の解像度を画像のサイズに合わせて変更する

答えて

0

私の画像のサイズを変更するには、画像の高さに制限があるため、以下のコードを使用してサイズを変更しました。しかし、それは私の高さの要件を超えていない限り、私はbmpのサイズを変更するwan't、あなたがそれを使用できることを願っていません。

   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); 
      } 
+0

私の問題は高さではありません、私は常に同じサイズに画像をしたいです。メモリ消費量が大きすぎる場合は解像度を変更する必要があります –

+0

私はここでstackoverflowで何かを見たことがあると思うが、その部分で自分自身で遊んでいない。 –

関連する問題