android 选取相册并剪裁

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hubianyu/article/details/82413984
package com.example.camera_demo;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends Activity {

   private ImageView imageView;
   private String path = Environment.getExternalStorageDirectory()+"/1601v.png";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        imageView = (ImageView) findViewById(R.id.image);
        
        
    }
    
    //打开相机  MediaStore.ACTION_IMAGE_CAPTURE 打开相机的Action
    public void getcamera(View v){
          //1.打开相册
          Intent it = new Intent(Intent.ACTION_PICK);
          //2.设置图片的格式
          it.setType("image/*");
          startActivityForResult(it, 1000);
    }
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
          super.onActivityResult(requestCode, resultCode, data);
          
          //得到图片进行裁剪
          if(requestCode == 1000 && resultCode == RESULT_OK){
             //3.得到图片的路径
             Uri uri =  data.getData();
             //4.com.android.camera.action.CROP 调取系统裁剪功能的Action
             Intent it = new Intent("com.android.camera.action.CROP");
             //得得到拍完照的图片进行裁剪
             it.setDataAndType(uri, "image/*");
             //设置是否支持裁剪
             it.putExtra("crop", true);
             //设置框的宽高比
             it.putExtra("aspactX", 1);
             it.putExtra("aspactY", 1);
             //设置输出图片的大小
             it.putExtra("outputX", 250);
             it.putExtra("outputY", 250);
             //将图片进行返回
             it.putExtra("return-data", true);
             
             startActivityForResult(it, 2000);
             
          }
          
          
          
          if(requestCode == 2000 && resultCode == RESULT_OK){

             //拿到剪裁后的图片;
             Bitmap  bitmap = data.getParcelableExtra("data");
             imageView.setImageBitmap(bitmap);
             
             
          }
          
          
          
    }
    
    
    
    
}

猜你喜欢

转载自blog.csdn.net/hubianyu/article/details/82413984