效果如下:

文章插图
通过scale,设置宽高比例来修改尺寸 。
package cn.programtalk;import net.coobird.thumbnailator.Thumbnails;import java.io.IOException;public class ThumbnailsSizeDemo { public static void main(String[] args) throws IOException { Thumbnails.of("input/wx.png") .scale(0.8) .toFile("output/o1.png"); }}代码中设置了scale=0.8效果图如下:

文章插图
图片旋转
可以通过rotate(double angle),来旋转图片,参数是度,比如30代表30度 。
package cn.programtalk;import net.coobird.thumbnailator.Thumbnails;import java.io.IOException;public class ThumbnailsRotateDemo { public static void main(String[] args) throws IOException { Thumbnails.of("input/wx.png") .rotate(30) // 旋转30度 // 此处size必须设置 .size(100, 10) .toFile("output/o1.png"); }}
文章插图
图片水印
通过watermark设置水印,有多个多态方法 。
package cn.programtalk;import net.coobird.thumbnailator.Thumbnails;import net.coobird.thumbnailator.geometry.Positions;import javax.imageio.ImageIO;import java.io.File;import java.io.IOException;public class ThumbnailsWatermarkDemo { public static void main(String[] args) throws IOException { Thumbnails.of("input/wx.png") // 水印放到右下角 .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("input/watermark.png")), 0.5f) .scale(1.74) .toFile("output/o1.png"); }}
文章插图
输出图片
输出格式
outputFormat(String format)方法用于设置输出文件格式 。支持的格式可以通过ImageIO.getWriterFormatNames()获取 。
我这里打印的格式列表是JPG jpg tiff bmp BMP gif GIF WBMP png PNG JPEG tif TIF TIFF jpeg wbmp 。
package cn.programtalk;import net.coobird.thumbnailator.Thumbnails;import javax.imageio.ImageIO;import java.io.IOException;public class ThumbnailsOutputFormatDemo { public static void main(String[] args) throws IOException { String[] writerFormatNames = ImageIO.getWriterFormatNames(); for (String writerFormatName : writerFormatNames) { System.out.print(writerFormatName + " "); // JPG jpg tiff bmp BMP gif GIF WBMP png PNG JPEG tif TIF TIFF jpeg wbmp } Thumbnails.of("input/wx.png") .scale(1.75) // 如果不设置默认跟原图片一致 .outputFormat("JPG") // 设置质量 .outputQuality(1F) .toFile("output/o1"); }}输出结果:
文章插图
输出质量
通过outputQuality(float quality)设置输出质量,参数介于0和1之间,支持小数,数字越小质量越差 。
package cn.programtalk;import net.coobird.thumbnailator.Thumbnails;import java.io.IOException;public class ThumbnailsOutputQualityDemo { public static void main(String[] args) throws IOException { Thumbnails.of("input/wx.png") .scale(1.75) // 设置质量 .outputQuality(1F) .toFile("output/o1"); }}输出到文件单文件
使用toFile方法,将处理后的文件输出到指定文件,参数是文件路径,不是必须要指定文件后缀 。
toFile要求文件读入的时候必须是单个源,例如如果是Thumbnails.of("input/logo.jpg","input/logo2.jpg"),使用toFile输出会抛出异常 。
package cn.programtalk;import net.coobird.thumbnailator.Thumbnails;import javax.imageio.ImageIO;import java.io.IOException;public class ThumbnailsToFileDemo { public static void main(String[] args) throws IOException { Thumbnails.of("input/logo.jpg") .scale(1.75) // 默认如果文件已经存在,则不覆盖,可以设置allowOverwrite=true 。.allowOverwrite(true) // 可以不指定文件后缀,默认是png .toFile("output/logo-new"); }}
推荐阅读
-
-
-
-
-
-
-
-
-
-
- 骨马能登记吗
- 松茸保存的方法,野生松茸怎么保存方法
- 鱼被咬伤了怎么办,鱼被咬了能自己恢复吗
- Excel文件只读模式应该怎样取消
- Word文档要如何插入Excel表格
- pvc和pe材质的区别
- 如何在Excel中绘图,Excel文件中应该怎样画图
- cdr应该怎么才可以删除不要的部分
- lol如何关闭录制功能,英雄联盟点击左侧录制按钮声音
