java图片裁剪类似qq头像_android仿QQ头像裁剪

AAffA0nNPuCLAAAAAElFTkSuQmCC

clipbitmap.gif属性类型说明maskColorcolor遮罩层颜色(默认#60000000)

borderColorcolor裁剪框内部边框颜色(默认白色)

radiusdimension裁剪框圆角(默认为最大值,裁剪框高度的一半)

maxScalefloat图片最大放大倍数(默认3)

doubleClickScalefloat双击图片放大倍数(默认1.8,最大值不超过maxScale)

设置Bitmap

推荐使用setBitmapForHeight()和setBitmapForWidth()LikeQQCropView likeView=findViewById(R.id.likeView);//如果传入的bitmap过大,此方法有OOM的可能likeView.setBitmap(Bitmap bitmap);//以下方法很安全,做了防止OOM的压缩/**设置压缩之后的宽和高*/likeView.setBitmap(多参);

[推荐该方法]设置压缩之后的高度(宽度自适应)

likeView.setBitmapForHeight(多参);

[推荐该方法]设置压缩之后的宽度(高度自适应)

likeView.setBitmapForWidth(多参);/**设置压缩的缩放倍数(偶数),图片缩小一半传2,缩小4倍传4*/likeView.setBitmapForScale(多参);

对Bitmap的操作/**水平翻转*/likeView.horizontalFlip();/**垂直翻转*/likeView.verticalFlip();/**垂直+水平翻转*/likeView.verticalAndHorizontalFlip();/**裁剪*/likeView.clip();/**图片位置重置*/likeView.reset();/**设置遮罩层*/likeView.setMaskColor(color);/**设置裁剪框内部边框颜色*/likeView.setBorderColor(color);/**设置裁剪框圆角*/likeView.setRadius(radius);/**设置图片最大放大倍数*/likeView.setMaxScale(1);/**设置双击图片放大倍数*/likeView.setDoubleClickScale(1);/**获取裁剪框宽度*/likeView.getClipWidth();

如果手机相册里面的图片出现旋转的情况likeView.setBitmapForWidth(filePath,1080);int degree = likeView.readPictureDegree("filePath");

Bitmap oldBitmap = likeView.getBitmap();

Bitmap rotateBitmap = likeView.rotateBitmap(degree, oldBitmap);

likeView.setBitmap(rotateBitmap);

或者使用下面4种方法,自动判断是否需要旋转图片

likeView.setBitmapForHeightToRotate(filePath,height);

likeView.setBitmapForWidthToRotate(filePath,width);

likeView.setBitmapToRotate(filePath,width,height);

likeView.setBitmapForScaleToRotate(filePath,4);

如果此文对您有帮助,还请在github上给个starimplementation 'com.github:MyCropBitmap:1.0.3' 查看最新版本号请上github

作者:Y哟嚯Y

链接:https://www.jianshu.com/p/e8af59cc2cb0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值