2012-03-12 75 views
0

我有方法来调用摄像头的活动,,但是从相机的结果是大尺寸的,我想在重新调整图像以小size..this是我的方法如何从相机获取小尺寸图像?

public void startCamera() 
{ 

    fileName =helper.getKdStore(c)+"_"+System.currentTimeMillis()+ ".jpg"; 
    _path=Environment.getExternalStorageDirectory().toString() + "/Alfa Location/"; 

    file = new File(_path, fileName); 
    try { 
    file.createNewFile(); 
    } catch (IOException e) { 
    e.printStackTrace(); 
    }    

    Uri outputFileUri = Uri.fromFile(file); 
    Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
    startActivityForResult(intent, IMAGE_CAPTURE); 

} 

,这是活动结果的方法,

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if (requestCode == IMAGE_CAPTURE) 
    { 
     if (resultCode == RESULT_OK) 
     { 
      Log.d("ANDRO_CAMERA","Picture taken!!!"); 
      //imageView.setImageURI(imageUri); 
      Toast.makeText(Detail.this, "Gambar Berhasil di simpan", Toast.LENGTH_LONG).show(); 

     } 
    } 
} 

我怎么可以调整图像??谢谢

回答

2

您可以用相机从发出后改变图像大小

int desiredImageWidth = 100; // pixels 
int desiredImageHeight = 100; // pixels 

BitmapFactory.Options o = new BitmapFactory.Options(); 
Bitmap newImage = Bitmap.createScaleBitmap(BitmapFactory.decodeFile(imagePath, o), 
              desiredImageWidth, 
              desiredImageHeight, 
              false); 
+0

我把这段代码谢谢 – akubabas 2012-03-12 02:27:06

+0

@akubabas你把它放在你做'Toast'的地方,其中'你的代码。你可能想让这个类变量)。还有其他很好的示例调整图像大小(例如:这个例子:http://stackoverflow.com/questions/477572/android-strange-out-of-memory-issue/823966#823966)。如果你想显示图像或保存调整大小的图像看到这里:http://stackoverflow.com/questions/6027720/android-how-to-save-captured-image-into-phones-gallery – 2012-03-12 03:12:22