话不多说,直接上代码.
//图片防爬加水印
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import net.coobird.thumbnailator.Thumbnails;
import net.coobird.thumbnailator.geometry.Positions;
import java.net.URL;
import org.apache.commons.lang3.StringEscapeUtils;
@RequestMapping(value = "/img")
@ResponseBody
public static void getImageFromNetByUrl(String strUrl,HttpServletResponse response) {
String static_server_path=SysConstants.getAddrress ( "static_server_path" ); //水印图片路径
if (null != strUrl) {
try {
//特殊字符转义
strUrl=StringEscapeUtils.unescapeHtml4(strUrl); //图片路径
BufferedImage bimg=ImageIO.read ( new URL ( strUrl ) );
int width=bimg.getWidth ();
int height=bimg.getHeight ();
URL url=new URL ( strUrl );
Thumbnails.of ( url )
.imageType ( BufferedImage.TYPE_INT_ARGB )
.size ( width , height )
.watermark ( Positions.CENTER , ImageIO.read ( new URL ( static_server_path + "/img/watermark/route.png" ) ) , 0.5f )
.outputQuality ( 0.5f )//水印透明度
.toOutputStream ( response.getOutputStream () );
} catch (Exception e) {
e.printStackTrace ();
}
}
}