2014-04-27 143 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); 
     } 
    } 

} 
相關問題