拍照并裁剪,,,回显
*/
public class MainActivity extends Activity {
private ImageView img;
private String path = Environment.getExternalStorageDirectory()
+ "/pics.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img = (ImageView) findViewById(R.id.img);
}
public void paizhao(View view) {
// 打开系统拍照页面
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// 把拍完的照片,,存放到sd卡中
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path)));
// 跳转
startActivityForResult(intent, 999);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 999 && resultCode == RESULT_OK) {
//可用去文件中去拿图片
Uri uri = Uri.fromFile(new File(path));
//img.setImageURI(uri);
//裁剪
crop(uri);
}else if (requestCode == 1000 && resultCode == RESULT_OK) {
Bitmap bitmap = data.getParcelableExtra("data");
img.setImageBitmap(bitmap);
}
}
private void crop(Uri uri) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", true);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 300);
intent.putExtra("outputY", 300);
intent.putExtra("noFaceDetection", false);
intent.putExtra("return-data", true);
startActivityForResult(intent, 1000);
}
}
打开相册,并裁剪,,回显
*
*/
public class MainActivity extends Activity {
private ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img = (ImageView) findViewById(R.id.img);
}
public void xiangce(View view) {
// 打开相册
Intent intent = new Intent(Intent.ACTION_PICK);
// 设置图片的类型
intent.setType("image/*");
// 打开相册页面、
startActivityForResult(intent, 999);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 999 && resultCode == RESULT_OK) {
//相册对应的回显数据
Uri uri = data.getData();
//裁剪
crop(uri);
}else if (requestCode == 1000 && resultCode == RESULT_OK) {
//取出数据
Bitmap bitmap = data.getParcelableExtra("data");
img.setImageBitmap(bitmap);
}
}
private void crop(Uri uri) {
//通过隐式跳转,,,打开裁剪页面
Intent intent = new Intent("com.android.camera.action.CROP");
//通过意图对象进行设置
//设置裁剪图片的类型
intent.setDataAndType(uri, "image/*");
//是否允许裁剪
intent.putExtra("crop", true);
//裁剪框的比例
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
//输出图片的大小
intent.putExtra("outputX", 300);
intent.putExtra("outputY", 300);
//取消人脸识别
intent.putExtra("noFaceDetection", false);
//允许返回数据
intent.putExtra("return-data", true);
//回显数据
startActivityForResult(intent, 1000);
}