如何在三星Galaxy S4中从相机拍摄后裁剪图像

时间:2014-01-20 12:51:04

标签: java android camera crop aspect-ratio

我想要做的是从相机捕捉图像,然后想要以相等的宽度,高度裁剪。我正在使用以下代码,它在三星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
                }

如果有人对此参考有任何经验,请帮助我。

1 个答案:

答案 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

https://github.com/MMP-forTour/cropimage

https://github.com/dtitov/pickncrop