前言:雙十一準備到了,作爲領引微商潮流的小編不惜一切代價,引流傳銷放下線釣大魚,因此做一個專屬的雙十一海報勢在必行。技術:邊距鋸齒消失得無影無蹤,當然圖片越縮小鋸齒越小,這裏我做了“雙重”防鋸齒
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);