本文主要是介绍android 剪切图片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、调用系统的剪切功能:
事件执行:
- @Override
- public void onClick(View v) {
- if(null == mUri)return;
- Intent intent = new Intent();
- intent.setAction("com.android.camera.action.CROP");
- intent.setDataAndType(mUri, "image/*");// mUri是已经选择的图片Uri
- intent.putExtra("crop", "true");
- intent.putExtra("aspectX", 1);// 裁剪框比例
- intent.putExtra("aspectY", 1);
- intent.putExtra("outputX", 150);// 输出图片大小
- intent.putExtra("outputY", 150);
- intent.putExtra("return-data", true);
- MainActivity.this.startActivityForResult(intent, 200);
- }});
效果图:
二、在onActivityResult中接受剪切数据:
protected void onActivityResult(int requestCode, int resultCode, Intent data) ....
- }else if(200 == requestCode){
- if(resultCode == RESULT_OK){
- // 拿到剪切数据
- Bitmap bmap = data.getParcelableExtra("data");
- // 显示剪切的图像
- ImageView imageview = (ImageView)this.findViewById(R.id.imageview);
- imageview.setImageBitmap(bmap);
- // 图像保存到文件中
- FileOutputStream foutput = null;
- try {
- foutput = new FileOutputStream(this.imageFile);
- bmap.compress(Bitmap.CompressFormat.PNG, 100, foutput);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }finally{
- if(null != foutput){
- try {
- foutput.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
版权声明:本文为博主原创文章,未经博主允许不得转载。
这篇关于android 剪切图片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!