android - Android代码Camera Intent+裁剪图像说明

标签 android android-camera crop android-camera-intent resize-crop

当想要在 Android 应用程序中拍照、裁剪和保存图像时,我在 Java 中使用以下 Intent ...

            Intent camera=new Intent();
            camera.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
            camera.putExtra("crop", "true");
            camera.putExtra("outputX",600);
            camera.putExtra("outputY", 600);
            camera.putExtra("aspectX", 1);
            camera.putExtra("aspectY", 1);
            camera.putExtra("scale", true);
            camera.putExtra("return-data", false); 

上述 Intent 非常有效,但是我的 Y 和 X 始终相等。我希望分解代码以找出指定此内容的内容,以便我可以为我拍摄并希望裁剪的图像制作可定制的(最重要的是独立的)X 和 Y 值...

最佳答案

注意:不建议使用 camera.putExtra("crop", "true");... 有关详细信息,请参阅上面的评论...不过,方面部分确实解决了我的问题!

            Intent camera=new Intent();

            /** This specifies the action for this intent when it is called. */
            camera.setAction(MediaStore.ACTION_IMAGE_CAPTURE);

            /** This says yes we can crop the image. */
            camera.putExtra("crop", "true");


            /** These provide the initial dimensions for X and Y. */
            camera.putExtra("outputX",600);
            camera.putExtra("outputY", 600);

            /** These provide the relative aspects. */
            camera.putExtra("aspectX", 1);
            camera.putExtra("aspectY", 1);


            /** These I am unsure about. */
            camera.putExtra("scale", true);
            camera.putExtra("return-data", false); 

因此,通过将方面设置为 0 而不是 1,

            /** These provide the relative aspects. */
            camera.putExtra("aspectX", 0);
            camera.putExtra("aspectY", 0);

他们变得彼此独立......

问题解决了!

最终代码

            Intent camera=new Intent();
            camera.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
            camera.putExtra("crop", "true");
            camera.putExtra("outputX",600);
            camera.putExtra("outputY", 600);
            camera.putExtra("aspectX", 0);
            camera.putExtra("aspectY", 0);
            camera.putExtra("scale", true);
            camera.putExtra("return-data", false); 

关于android - Android代码Camera Intent+裁剪图像说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17551074/

相关文章:

android - 这花费了意想不到的长时间

java - 尝试保存嵌套 fragment 的状态时出现异常 [ fragment 不再存在关键 android :target_state]

android - 拍摄图像 camera2api

java - 如何在开始预览时自动对焦自定义相机而不触摸屏幕?

iphone - 在 iPhone 上查看网站 - 尺寸问题

java - 如何下载创建的目录中的文件

Android:相机预览倾斜

android - 无法使用 google photos 上传图片

python - 在 python 中使用 opencv 剪切图像的特定部分

java - 从 calendar.getInstance 获取错误的日期