android调用系统裁剪自由比例,设置输出尺寸无效的问题

本文详细介绍了Android中图片裁剪的相关问题,包括如何使用系统裁剪方式设定图片尺寸,以及通过设置参数来实现自定义宽高比的裁剪功能。通过实验验证了输出图片尺寸的设定规则,并解释了其背后的原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请注明出处:http://blog.csdn.net/jiguangcanhen/article/category/2537955

----------------------------------------------------------------------------------------------------------------------------

android中常见图片裁剪的问题,对于调用系统的裁剪方式一般如下:

private void cropImage(Uri uri, int outputX, int outputY, int requestCode) {
        Intent intent = new Intent("com.android.camera.action.CROP");
        intent.setDataAndType(uri, "image/*");
        intent.putExtra("crop", "false");
        intent.putExtra("aspectX", 1);
        intent.putExtra("aspectY", 1);
        intent.putExtra("outputX", 161);
        intent.putExtra("outputY", 161);
        //intent.putExtra("outputFormat", "JPEG");
        //intent.putExtra("noFaceDetection", true);
        intent.putExtra("return-data", true);
        startActivityForResult(intent, requestCode);
    }

一般来说,设置了下面两句就会定下图片尺寸,也就是宽高比例,那么如果想宽高都自己滑动决定的话,可以不设置这两句:

intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);

下面两句是设置输出图片的尺寸的:

intent.putExtra("outputX", 161);
intent.putExtra("outputY", 161);
经过测试,如果把值设置为160之上是没有效果的,只会返回160分辨率的图片,而对于设置160以下是有效果的。

具体原理还没研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值