码迷,mamicode.com
首页 > 编程语言 > 详细

Java 实现图片水印

时间:2017-05-25 00:03:18      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:位置   颜色   调整   top   src   class   jpg   site   效果   

我们经常可以看到网上一些图片都有水印,我就看了一些教程,也自己简单实现了下,再记录一下!

 

添加水印的过程

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 实现图片水印

标签:位置   颜色   调整   top   src   class   jpg   site   效果   

原文地址:http://www.cnblogs.com/shenyuxin/p/6901292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!