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