Java 实现图片水印
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 实现图片水印相关的知识,希望对你有一定的参考价值。
我们经常可以看到网上一些图片都有水印,我就看了一些教程,也自己简单实现了下,再记录一下!
添加水印的过程
1.创建图片缓存对象 (BufferImage)---> 2.创建Java绘图工具对象(Graphics2D) ---> 3.使用绘图工具对象将原图画到缓存图片对象上
---> 4.使用绘图工具对象将水印文字图片放到缓存图片对象上 ---> 5.使用图像编码工具类,将缓存图像输出保存到电脑中
public class TextWaterMark { public static void main(String[] args) { // TODO Auto-generated method stub File file = new File("D://big59000.jpg"); textmark(file,"HELLO WORLD"); } /** * @param file * 图片文件对象 * @param text * 添加的水印文字 */ public static void textmark(File file, String text) { try { Image image = ImageIO.read(file); BufferedImage bufferImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB);// 1.创建图片缓存对象 Graphics2D g = bufferImage.createGraphics(); // 2. 创建Java绘图工具对象 g.drawImage(image, 0, 0, image.getWidth(null), image.getHeight(null), null);//3.将原图通过绘图工具画到图片缓存对象中 g.setFont(new Font("微软雅黑",Font.BOLD,30)); g.setColor(Color.GREEN);//设置水印文字的 字体和颜色 g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 0.3f)); g.drawString(text, 200, 50);//4.将文字添加到缓存图片对象中 g.dispose(); OutputStream os = new FileOutputStream("D://waterText.jpg"); ImageIO.write(bufferImage, "JPG", os);//通过图片编码工具,将缓存图片保存到本地 } catch (IOException e) { e.printStackTrace(); } } }
实现效果:(文字的颜色 位置可以自己调整)
以上是关于Java 实现图片水印的主要内容,如果未能解决你的问题,请参考以下文章