android 相機、相冊、裁剪

相機:

private String path=Environment.getExternalStorageDirectory()+"/aaaa";


先獲取路徑:
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path)));
startActivityForResult(intent,10000);

進行判斷:
if(requestCode==10000 && resultCode==RESULT_OK){
    Intent intent = new Intent("com.android.camera.action.CROP");
    intent.setDataAndType(Uri.fromFile(new File(path)), "image/*");
    // 下面這個crop = true是設置在開啓的Intent中設置顯示的VIEW可裁剪
    intent.putExtra("crop", "true");
    // aspectX aspectY 是寬高的比例,這裏設置的是正方形(長寬比爲1:1)
    intent.putExtra("aspectX", 1);
    intent.putExtra("aspectY", 1);
    // outputX outputY 是裁剪圖片寬高
    intent.putExtra("outputX", 200);
    intent.putExtra("outputY", 200);
    intent.putExtra("return-data", false);
    startActivityForResult(intent,888);
}
//賦值
if(requestCode==888 && resultCode==RESULT_OK){
   Bitmap aa= data.getParcelableExtra("data");
    im.setImageBitmap(aa);
}
相冊:
先獲取路徑:

Intent in = new Intent(Intent.ACTION_PICK);
in.setType("image/*");
startActivityForResult(in,9999);
//進行判斷

if(requestCode==9999 && resultCode==RESULT_OK){ Intent in=new Intent("com.android.camera.action.CROP"); Uri uri = data.getData(); in.setDataAndType(uri, "image/*"); in.putExtra("CROP", true); in.putExtra("aspectX", 1); in.putExtra("aspectY", 1); in.putExtra("outputX", 200); in.putExtra("outputX", 200); in.putExtra("return-data", true); startActivityForResult(in, 777); } //賦值 if(requestCode==777 && resultCode==RESULT_OK){ Bitmap bit=data.getParcelableExtra("data"); im.setImageBitmap(bit); }





 

發佈了43 篇原創文章 · 獲贊 8 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章