【问题标题】:How to crop image after capturing it from Camera in Samsung Galaxy S4如何从三星 Galaxy S4 中的相机捕获图像后裁剪图像
【发布时间】:2026-02-20 04:10:01
【问题描述】:

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

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

【问题讨论】:

    标签: java android camera crop aspect-ratio


    【解决方案1】:

    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

    【讨论】: