java 图片水印处理

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.最后关闭所有的流。添加水印成功。

你可能感兴趣的:(java 图片水印处理)