2012-01-31 25 views
1

640x480ピクセルで写真を撮るためにカメラの解像度をロックしたいですか?Android - 640 x 480のカメラ解像度をロックする方法

これは、640x480よりも大きい写真が非常に遅くなりすぎて、時には私のアプリをクラッシュさせる原因となるため、これを行う必要があります。
これを行うことができない場合は、SDカードで写真のサイズを変更する方法がありますか?

答えて

3

here(commonsguy githubの)から撮影

。コード、このようなもので:

Bitmap smallBitmap = Bitmap.createScaledBitmap(sourceBitmap, 640, 480, true); 

とリサイズ後の私はあなたがすでに保存のために書いたと思うのコードを付けて保存...

あなたはバイト配列を供給し、使用できる保存用のビットマップではない必要がある場合:

ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
bMap.compress(CompressFormat.JPEG, 100, bos); // setup jpeg quality here 
byte[] data = bos.toByteArray(); 

希望しました。 乾杯[

]
0

あなたは

private Camera.Size getBestPreviewSize(int width, int height,Camera.Parameters parameters) 
{ 
    Camera.Size result=null; 

    for (Camera.Size size : parameters.getSupportedPreviewSizes()) { 
     if (size.width <= width && size.height <= height) { 
     if (result == null) { 
      result=size; 
     } 
     else { 
      int resultArea=result.width * result.height; 
      int newArea=size.width * size.height; 

      if (newArea > resultArea) { 
      result=size; 
      } 
     } 
     } 
    } 

    return(result); 
    } 

可能な最低の解像度を取得したり、あなたが望む解像度でループを停止しようとすることができます。あなたも、SDカードに保存する前に画像のサイズを変更することができ

関連する問題