前言:双十一准备到了,作为领引微商潮流的小编不惜一切代价,引流传销放下线钓大鱼,因此做一个专属的双十一海报势在必行。技术:边距锯齿消失得无影无踪,当然图片越缩小锯齿越小,这里我做了“双重”防锯齿
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
RenderingHints renderingHints=new RenderingHints(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
renderingHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
g2.setRenderingHints(renderingHints);
Google提供的Thumbnails对图片的各种操作(缩放、加水印、翻转、转换图片格式)性能比jdk提供的好N倍,压缩出来的图片更清晰。
/*
* 若图片横比200小,高比300小,不变
* 若图片横比200小,高比300大,高缩小到300,图片比例不变
* 若图片横比200大,高比300小,横缩小到200,图片比例不变
* 若图片横比200大,高比300大,图片按比例缩小,横为200或高为300
*/
/*Thumbnails.of("images/a380_1280x1024.jpg")
.size(200, 300)
.toFile("c:/a380_200x300.jpg");
Thumbnails.of("images/a380_1280x1024.jpg")
.size(2560, 2048)
.toFile("c:/a380_2560x2048.jpg"); */
String source = "d:/3.jpg";
// int width = 200;
// int height = 300;
// String output = "d:/3_"+width+"x"+height+".jpg";
// ThumbnailatorUtils.ImgThumb(source, output, width, height);
double scale = 0.25f;
String scaleStr = (int)(scale * 100) +"%";
// 0.25f)
// .toFile("c:/a380_25%.jpg");
String output = "d:/3_"+scaleStr+".jpg";
ThumbnailatorUtils.ImgScale(source, output, scale);