我想要做的是从相机捕捉图像,然后想要以相等的宽度,高度裁剪。我正在使用以下代码,它在三星S3和类似设备中运行良好。但是,当我在三星Galaxy S4中测试应用程序时,它不能仅仅捕获图像并保存到SD卡中,但是没有出现裁剪工具。
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
intent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri());
// ******** code for crop image
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", com.app.controller.Constants.MAX_WIDTH);
intent.putExtra("outputY", com.app.controller.Constants.MAX_HEIGHT);
try {
intent.putExtra("return-data", true);
startActivityForResult(intent, PICK_FROM_CAMERA);
} catch (ActivityNotFoundException e) {
// Do nothing for now
}
如果有人对此参考有任何经验,请帮助我。
答案 0 :(得分:3)
Android没有裁剪意图/工具。这就是为什么它可以在某些手机中使用,但在其他手机中却无法使用。
您可以在CommonsWare的这个网站上阅读更多相关信息 http://commonsware.com/blog/2013/01/23/no-android-does-not-have-crop-intent.html
您可以签出一些执行此操作的库(均来自上述网站):
https://github.com/lvillani/android-cropimage
https://github.com/biokys/cropimage