Thumbnailator是一个用来生成图像缩略图的 Java类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。
有了这玩意,就不用在费心思使用Image I/O API,Java 2D API等等来生成缩略图了。
Thumbnailator的下载地址:
http://code.google.com/p/thumbnailator/downloads/list
好了,直接上代码:
- /**
- *
- * @throws IOException
- * @brief 生成缩略图简单实例
- *
- */
- public static void simple() throws IOException{
- //需要转换的文件为桌面上的1.png
- Thumbnails.of("C:/Documents and Settings/Administrator/桌面/1.png")
- /*
- * forceSize,size和scale必须且只能调用一个
- */
- // .forceSize(400, 400) //生成的图片一定为400*400
- /*
- * 若图片横比200小,高比300小,不变
- * 若图片横比200小,高比300大,高缩小到300,图片比例不变
- * 若图片横比200大,高比300小,横缩小到200,图片比例不变
- * 若图片横比200大,高比300大,图片按比例缩小,横为200或高为300
- */
- .size(200, 300)
- .outputFormat("png") //生成图片的格式为png
- .outputQuality(0.8f) //生成质量为80%
- // .scale(0.5f) //缩小50%
- //输出到桌面5文件
- .toFile("C:/Documents and Settings/Administrator/桌面/2");
- }
- /**
- *
- * @throws IOException
- * @brief 生成旋转的缩略图
- *
- */
- public static void rotate() throws IOException{
- Thumbnails.of("C:/Documents and Settings/Administrator/桌面/1.png")
- //顺时针旋转90度
- .rotate(90)
- .scale(0.8f)
- .toFile("C:/Documents and Settings/Administrator/桌面/3");
- }
- /**
- *
- * @brief 生成带水印的图片
- *
- * @throws IOException
- */
- public static void watermark() throws IOException {
- Thumbnails.of("C:/Documents and Settings/Administrator/桌面/1.png")
- //水印在右下角,50%透明度,水印图片为桌面上的logo.gif
- .watermark(Positions.BOTTOM_RIGHT,ImageIO.read(new File("C:/Documents and Settings/Administrator/桌面/logo.gif")),0.5f)
- .scale(0.8f)
- .toFile("C:/Documents and Settings/Administrator/桌面/4");
- }
使用到的图片1.png:
生成的缩略图3.png:
生成的缩略图4.png:
转载于:https://blog.51cto.com/xuepiaoqiyue/803834