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); } } }
android 选取相册并剪裁
最新推荐文章于 2023-03-15 16:57:36 发布