IT培训网 - IT职场人学IT技术上IT培训网
android调用照相机拍照
时间:2016-10-19 16:42:22 来源:Android培训网 作者:IT培训网 已有:名学员访问该课程
1.调用系统的照相机程序。2.在onActivityResult中处理返回的data final Bitmap photo = data.getParcelableExtra("data"); 如果不需要做剪切处理就可以直接使用图片了,比如输出到ImageView上 imageView.setImageBitmap(photo); 如果需要做剪切处理,就继续向下执
- Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
- startActivityForResult(intent, TAKE_PHOTO_WITH_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);
- artActivityForResult(intent, PHOTO_PICKED_WITH_DATA);
- public class SdCardUriTestActivity 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;
IT培训网依托中国互联网行业蓬勃发展优势,为中国的软件开发学习者和IT从业人员提供培训学校、编程学习、经验交流、咨询解答等服务,帮助更多喜爱编程的人员实现自己的IT梦想。
顶一下
(1)
100%
踩一下
(0)
0%
每期开班座位有限.0元试听抢座开始!
温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。
------分隔线----------------------------
------分隔线----------------------------
- 上一篇:Android内存优化
- 下一篇:Android开发开源项目