1.实现水印效果首先要获取上传的图片并将其保存到指定目录下。作为原图
2.将图片加载到内存当中通过ImageIO.read(input)读取流获得图片。
3.创建一个空图片对象---->BufferedImage对象,new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
4.创建Graphics2D 准备进行绘画,并将底图也就是需要打水印的图片先进行绘制
5.读取水印图片,并将获取到的水印图片缓存到内存里并且获取高跟宽
6.用底图的宽减去水印图的宽 以及底图高减去水印图的高。
7.给Graphics2D对象设置alpha透明度setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
8.将水印图进行绘制 调用Graphics2D.drawImage方法以后调用dispose方法释放资源。
9.创建一个输出流FileOutputStream并给出输出路径
10.创建JPEGImageEncoder对象, 用JPEGCodec.createJPEGEncoder(outputstrean);
11.调用encode方法 将bufferedImage流转换成jpeg数据流。
12.最后关闭所有的流。添加水印成功。
网友评论