Android从相机或相册获取图片裁剪
16lz
2022-04-01
packagecom.only.android.app;importjava.io.File;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.content.DialogInterface;importandroid.content.Intent;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.net.Uri;importandroid.os.Bundle;importandroid.os.SystemClock;importandroid.provider.MediaStore;importandroid.view.View;importandroid.widget.Button;importandroid.widget.ImageView;importcom.only.android.R;publicclassCopyOfImageScaleActivityextendsActivityimplementsView.OnClickListener{/**Calledwhentheactivityisfirstcreated.*/privateButtonselectImageBtn;privateImageViewimageView;privateFilesdcardTempFile;privateAlertDialogdialog;privateintcrop=180;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.imagescale);selectImageBtn=(Button)findViewById(R.id.selectImageBtn);imageView=(ImageView)findViewById(R.id.imageView);selectImageBtn.setOnClickListener(this);sdcardTempFile=newFile("/mnt/sdcard/","tmp_pic_"+SystemClock.currentThreadTimeMillis()+".jpg");}@OverridepublicvoidonClick(Viewv){if(v==selectImageBtn){if(dialog==null){dialog=newAlertDialog.Builder(this).setItems(newString[]{"相机","相册"},newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){if(which==0){Intentintent=newIntent("android.media.action.IMAGE_CAPTURE");intent.putExtra("output",Uri.fromFile(sdcardTempFile));intent.putExtra("crop","true");intent.putExtra("aspectX",1);//裁剪框比例intent.putExtra("aspectY",1);intent.putExtra("outputX",crop);//输出图片大小intent.putExtra("outputY",crop);startActivityForResult(intent,101);}else{Intentintent=newIntent("android.intent.action.PICK");intent.setDataAndType(MediaStore.Images.Media.INTERNAL_CONTENT_URI,"image/*");intent.putExtra("output",Uri.fromFile(sdcardTempFile));intent.putExtra("crop","true");intent.putExtra("aspectX",1);//裁剪框比例intent.putExtra("aspectY",1);intent.putExtra("outputX",crop);//输出图片大小intent.putExtra("outputY",crop);startActivityForResult(intent,100);}}}).create();}if(!dialog.isShowing()){dialog.show();}}}@OverrideprotectedvoidonActivityResult(intrequestCode,intresultCode,Intentintent){if(resultCode==RESULT_OK){Bitmapbmp=BitmapFactory.decodeFile(sdcardTempFile.getAbsolutePath());imageView.setImageBitmap(bmp);}}}
更多相关文章
- [Android] 调用相机、打开相册、裁剪图片
- 调用android自带的截图工具进行截图
- Android(安卓)判断当前网络 wifi ctwap(cmwap) ctnet(cmnet)
- Android(安卓)开发手记二
- Android中Drawable Resource学习
- android的logcat详细用法!
- 在Android的c/c++代码中使用LOG
- android dumpsys debug tools
- Android的logcat用法