lt85612455
lt85612455
采纳率25%
2016-06-23 06:16 浏览 1.6k

《第一行代码》调用摄像头拍照后裁剪并显示在imageview上

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); takePhoto = (Button) findViewById(R.id.take_photo); picture = (ImageView) findViewById(R.id.picture); takePhoto.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 创建File对象,用于存储拍照后的图片 File outputImage = new File(Environment. getExternalStorageDirectory(), "tempImage.jpg"); try { if (outputImage.exists()) {

outputImage.delete(); } outputImage.createNewFile(); } catch (IOException e) {

e.printStackTrace(); } imageUri = Uri.fromFile(outputImage); Intent intent = new Intent("android.media.action. IMAGE_CAPTURE"); intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); startActivityForResult(intent, TAKE_PHOTO); // 启动相机程序

}

});

}

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case TAKE_PHOTO: if (resultCode == RESULT_OK) { Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(imageUri, "image/*"); intent.putExtra("scale", true);

intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); startActivityForResult(intent, CROP_PHOTO); // 启动裁剪程序

} break; case CROP_PHOTO: if (resultCode == RESULT_OK) { try { Bitmap bitmap = BitmapFactory.decodeStream (getContentResolver() .openInputStream(imageUri)); picture.setImageBitmap(bitmap); // 将裁剪后的照片显示出来 } catch (FileNotFoundException e) {

e.printStackTrace(); }

} break; default:

break; }

}
问题就是可以打开相机并裁减但是在imageview里面不能显示裁减的截图。在相应的路径下可以找到output文件但是没有任何内容

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答 默认 最新

  • pptpipsec pptpipsec 2016-06-23 06:51

    你没有说你的问题啊。

    点赞 评论 复制链接分享
  • wdgxd777 wdgxd777 2016-06-23 07:01

    你没有说你的问题啊。。。。

    点赞 评论 复制链接分享
  • lt85612455 lt85612455 2016-06-23 07:29

    不好意思,问题就是可以打开相机并裁减但是在imageview里面不能显示裁减的截图。在相应的路径下可以找到output文件但是没有任何内容

    点赞 评论 复制链接分享

相关推荐