android调用系统相机拍照并裁剪
2015-07-03 13:51
441 查看
public class WelcomActivity extends Activity {
/** Called when the activity is first created. */
private Button btnTake = null;
private ImageView lblImage = null;
private static final int PHOTO_PICKED_WITH_DATA = 3021;
private static final int CAMERA_WITH_DATA = 3023;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnTake = (Button) findViewById(R.id.btnTake);
lblImage = (ImageView) findViewById(R.id.lblImage);
btnTake.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAMERA_WITH_DATA);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (resultCode != RESULT_OK)
return;
switch (requestCode) {
case CAMERA_WITH_DATA:
final Bitmap photo = data.getParcelableExtra("data");
if (photo != null) {
doCropPhoto(photo);
}
case PHOTO_PICKED_WITH_DATA:
Bitmap photo1 = data.getParcelableExtra("data");
if (photo1 != null) {
lblImage.setImageBitmap(photo1);
}
}
}
protected void doCropPhoto(Bitmap data) {
Intent intent = getCropImageIntent(data);
startActivityForResult(intent, PHOTO_PICKED_WITH_DATA);
}
public static Intent getCropImageIntent(Bitmap data) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/*");
intent.putExtra("data", data);
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 128);
intent.putExtra("outputY", 128);
intent.putExtra("return-data", true);
return intent;
}
}
/** Called when the activity is first created. */
private Button btnTake = null;
private ImageView lblImage = null;
private static final int PHOTO_PICKED_WITH_DATA = 3021;
private static final int CAMERA_WITH_DATA = 3023;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnTake = (Button) findViewById(R.id.btnTake);
lblImage = (ImageView) findViewById(R.id.lblImage);
btnTake.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAMERA_WITH_DATA);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (resultCode != RESULT_OK)
return;
switch (requestCode) {
case CAMERA_WITH_DATA:
final Bitmap photo = data.getParcelableExtra("data");
if (photo != null) {
doCropPhoto(photo);
}
case PHOTO_PICKED_WITH_DATA:
Bitmap photo1 = data.getParcelableExtra("data");
if (photo1 != null) {
lblImage.setImageBitmap(photo1);
}
}
}
protected void doCropPhoto(Bitmap data) {
Intent intent = getCropImageIntent(data);
startActivityForResult(intent, PHOTO_PICKED_WITH_DATA);
}
public static Intent getCropImageIntent(Bitmap data) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/*");
intent.putExtra("data", data);
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 128);
intent.putExtra("outputY", 128);
intent.putExtra("return-data", true);
return intent;
}
}
相关文章推荐
- [Android]View跟随屏幕旋转
- 解决Android解析图片的OOM问题!!!(转)
- Android中如何判断是否联网
- android studio 问题总结
- android 系统日期时间的获取
- Android中如何判断内存卡是否存在
- Android的图片缓存ImageCache(转)
- Android源码编译--整理
- Android入门(4)——AutoComplete TextView实现动态自动匹配输入的内容
- Android 多个ImageView图片层叠透明区域点击事件穿透
- Android中获取手机屏幕各部分的尺寸
- Java, android Scanner 简单的使用
- Android入门(3)——使用TextView实现跑马灯效果
- Android Fragment 真正彻底的解决(下一个)
- Android中保存图片的两种方式
- Android ScrollView遇到的问题
- android TextView设置删除线,超链接,颜色和字体等说介绍,androidtextview
- android实现背景音乐播放
- android如何长时间音乐播放实现MediaPlayer
- Android4.4KK下遮盖p-sensor拨打电话无法自动灭屏的问题分析