ResponsiveTransformation transformation = new ResponsiveTransformation(imageview);
CITransformation transform = new CITransformation();
//指定图片的宽为原图的 50%,高度不变transform.thumbnailByWidthScale(50);//指定图片的高为原图的 50%,宽度不变transform.thumbnailByHeightScale(50);//指定图片的宽高为原图的 50%transform.thumbnailByScale(50);
//指定目标图片宽度为50,高度等比压缩transform.thumbnailByWidth(50);//指定目标图片高度为50,宽度等比压缩transform.thumbnailByHeight(50);//限定缩略图的宽度和高度的最小值分别为50和50,进行等比缩放transform.thumbnailByMinWH(50, 50);//限定缩略图的宽度和高度的最大值分别为50和50,进行等比缩放transform.thumbnailByMaxWH(50, 50);//忽略原图宽高比例,指定图片宽度为50,高度为50 ,强行缩放图片,可能导致目标图片变形transform.thumbnailByWH(50, 50);
//等比缩放图片,缩放后的图像,总像素数量不超过1000transform.thumbnailByPixel(1000);
// 指定目标图片宽度、高度、相对于图片左上顶点水平向右偏移、相对于图片左上顶点水平向下偏移进行裁剪transform.cut(100, 300, 30, 30);
// 指定半径100为例transform.iradius(100);
// 指定圆角半径100为例transform.rradius(100);
//按照指定目标宽度和高度进行缩放裁剪transform.cropByWH(100, 100);//按照指定目标宽度和高度进行缩放裁剪,指定操作的起点位置transform.cropByWH(100, 100, CIGravity.CENTER);//按照指定目标宽度进行缩放裁剪transform.cropByWidth(100);//按照指定目标宽度进行缩放裁剪,指定操作的起点位置transform.cropByWidth(100, CIGravity.CENTER);//按照指定目标高度进行缩放裁剪transform.cropByHeight(100);//按照指定目标高度进行缩放裁剪,指定操作的起点位置transform.cropByHeight(100, CIGravity.CENTER);
// 裁剪人脸并宽高指定100缩放为例;transform.scrop(100, 100);
// 以旋转45度为例;transform.rotate(45);
transform.rotate();
// 以转换为 JPEG 为例transform.format(CIImageFormat.JPEG, CIImageLoadOptions.LoadTypeUrlFooter);
// 加载类型一 带 accept 头部 accept:image/xxxLoadTypeAcceptHeader,// 加载类型二 在URL后面拼接 imageMogr2/format/xxxLoadTypeUrlFooter,
implementation 'com.tencent.qcloud:tpg:1.3.1'
defaultConfig {ndk {// 设置支持的 SO 库架构abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'}}
transform.gifOptimization(50);
transform.jpegInterlaceMode(true);
//设置图片的绝对质量,取值范围0 - 100 ,默认值为原图质量;取原图质量和指定质量的最小值transform.quality(90);// 图片的最低质量,取值范围0 - 100 ,设置结果图的质量参数最小值。// 例如原图质量为85,将 lquality 设置为80后,处理结果图的图片质量为85。// 例如原图质量为60,将 lquality 设置为80后,处理结果图的图片质量会被提升至80transform.lowestQuality(90);//设置图片的相对质量,取值范围0 - 100 ,数值以原图质量为标准。例如原图质量为80,将 rquality 设置为80后,得到处理结果图的图片质量为64(80x80%)transform.relativelyQuality(80);
// 模糊半径20,正态分布的标准差20为例transform.blur(20, 20);
// 以锐化值70为例transform.sharpen(70);
WatermarkImageTransform watermarkImageTransform = new WatermarkImageTransform//水印图片地址.Builder(imageurl)//设置水印九宫格位置.setGravity(CIGravity.CENTER)//设置水印图适配功能,适用于水印图尺寸过大的场景(如水印墙).setBlogo(1)//设置水平(横轴)边距.setDistanceX(10)//设置垂直(纵轴)边距.setDistanceY(10).builder();transform.watermarkImage(watermarkImageTransform);
http://开始,不能省略 HTTP 头,也不能填 HTTPS 头,例如 examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/shuiyin_2.png,https://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/shuiyin_2.png 为非法的水印 URL。WatermarkTextTransform watermarkImageTransform = new WatermarkTextTransform//水印内容.Builder("水印")//设置水印九宫格位置.setGravity(CIGravity.CENTER)//设置水印字体.setFont("tahoma.ttf")//设置水印文字字体大小.setFontSize(13)//设置水印字体颜色.setFill("#FF0000")//设置水印文字透明度.setDissolve(80)//设置水平(横轴)边距.setDistanceX(10)//设置垂直(纵轴)边距.setDistanceY(10)//打开平铺水印功能,可将文字水印平铺至整张图片.openBatch()//旋转水印.rotate(45).builder();transform.watermarkText(watermarkImageTransform);
transform.strip();
transform.thumbnailByScale(80).iradius(100).blur(20,20).strip();
文档反馈