2014-04-27 144 views

回答

0

我想你在找什么是裁剪图像。

可以实现与Android默认裁剪功能:

private void performCrop(Uri picUri) { 
try { 

    Intent cropIntent = new Intent("com.android.camera.action.CROP"); 
    // indicate image type and Uri 
    cropIntent.setDataAndType(picUri, "image/*"); 
    // set crop properties 
    cropIntent.putExtra("crop", "true"); 
    // indicate aspect of desired crop 
    cropIntent.putExtra("aspectX", 1); 
    cropIntent.putExtra("aspectY", 1); 
    // indicate output X and Y 
    cropIntent.putExtra("outputX", 128); 
    cropIntent.putExtra("outputY", 128); 
    // retrieve data on return 
    cropIntent.putExtra("return-data", true); 
    // start the activity - we handle returning in onActivityResult 
    startActivityForResult(cropIntent, PIC_CROP); 
} 
// respond to users whose devices do not support the crop action 
catch (ActivityNotFoundException anfe) { 
    // display an error message 
    String errorMessage = "Whoops - your device doesn't support the crop action!"; 
    Toast toast = Toast.makeText(this, errorMessage, Toast.LENGTH_SHORT); 
    toast.show(); 
} 
} 

恒声明:您的活动

final int PIC_CROP = 1; 

覆盖onActivity结果的方法,令状下面的代码:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == PIC_CROP) { 
     if (data != null) { 
      // get the returned data 
      Bundle extras = data.getExtras(); 
      // get the cropped bitmap 
      Bitmap selectedBitmap = extras.getParcelable("data"); 

      imgView.setImageBitmap(selectedBitmap); 
     } 
    } 

} 
相关问题