android系统方法裁剪图片部分手机显示为圆形

针对金立、联想、vivoX9等部分手机在裁剪图片时出现的问题进行了总结,包括无法进入裁切界面、裁切后不显示图片等。分析可能与Android 6.0的权限问题有关,尤其是华为手机显示为圆形的问题。解决方案涉及裁剪URI的处理,通过设置裁剪比例解决华为手机显示异常。

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

近期,针对金立手机,联想手机和vivoX9等部分手机拍照或选择图册照片之后裁切各种问题统一测试和调试发现问题汇总:

1、金立手机,android(3.0.X):

      照相之后,点击直接返回页面,选择相册图片也没反应,不进入裁切界面;

2、联想手机,android(5.5.1,貌似):

      拍照和相册选择图片之后可以进入裁切界面,但是裁切确定返回不显示图片;

3、vivoX9,android(6.0.1):

       拍照直接裁剪上传正常,但是不能选择相册图片上传;

4、红米(note1)手机(4.4):

       获取图片路径需要单独处理,因为返回的图片路径和其他不一样;

针对1-3问题,我搜索了好多解决方案无效之后,猜测是android6版本的权限问题需要单独处理,搜索了好多方法之后,找到了一篇关于裁切uri的说法:

新保存的图片uri和保存路径uri一致,导致保存冲突,部分手机上冲突导致保存文件为0字节,还有部分手机会将原图裁剪覆盖,导致原图被修改;

原来裁切方法如下:

empty

5、自此,uri裁切后图片单独存储之后,测试以上手机问题除了金立(可以选择图册裁切上传)不能直接拍照裁切之后,照完照片点√,系统异常终止,
      其他手机问题均解决(1-3),华为手机在1:1方形裁切时,显示为圆形问题解决参考;

原文:http://blog.youkuaiyun.com/GAMEYEYI/article/details/51062398

Android调用系统方法对图片进行裁剪时,华为手机显示的图形会变成圆形,改为aspectX和aspectY不是1;1就好

if(android.os.Build.MODEL.contains("HUAWEI"))
        {//华为特殊处理 不然会显示圆
        intent.putExtra("aspectX", 9998);  
            intent.putExtra("aspectY", 9999);
        }
        else
        {
        intent.putExtra("aspectX", 1);  
            intent.putExtra("aspectY", 1);
        }





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值