jsmubanlogo
  • 首页
  • 网页模板
  • 特效代码
  • 博文源码
  • 插件下载
  •    

java给图片添加图片水印

收藏    

作者第十天    2021-12-17

      

import java.awt.AlphaComposite;

import java.awt.Graphics2D;

import java.awt.Image;

import java.awt.RenderingHints;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.FileOutputStream;

import java.io.OutputStream;

 

import javax.imageio.ImageIO;

import javax.swing.ImageIcon;

 

/**

 * 給图片添加图片

 *

 * @author liqiang

 *

 */

public class WaterMarkUtils {

 

    /**

     * @param args

     */

    public static void main(String[] args) {

        String srcImgPath = "C:/Users/liqiang/Desktop/图片/kdmt.jpg";

        String iconPath = "C:/Users/liqiang/Desktop/图片/qlq.jpeg";

        String targerPath = "C:/Users/liqiang/Desktop/图片/qlq1.jpeg";

        String targerPath2 = "C:/Users/liqiang/Desktop/图片/qlq2.jpeg";

        // 给图片添加水印

        WaterMarkUtils.markImageByIcon(iconPath, srcImgPath, targerPath);

        // 给图片添加水印,水印旋转-45

        WaterMarkUtils.markImageByIcon(iconPath, srcImgPath, targerPath2, -45);

 

    }

 

    /**

     * 给图片添加水印

     *

     * @param iconPath

     *            水印图片路径

     * @param srcImgPath

     *            源图片路径

     * @param targerPath

     *            目标图片路径

     */

    public static void markImageByIcon(String iconPath, String srcImgPath, String targerPath) {

        markImageByIcon(iconPath, srcImgPath, targerPath, null);

    }

 

    /**

     * 给图片添加水印、可设置水印图片旋转角度

     *

     * @param iconPath

     *            水印图片路径

     * @param srcImgPath

     *            源图片路径

     * @param targerPath

     *            目标图片路径

     * @param degree

     *            水印图片旋转角度

     */

    public static void markImageByIcon(String iconPath, String srcImgPath, String targerPath, Integer degree) {

        OutputStream os = null;

        try {

            Image srcImg = ImageIO.read(new File(srcImgPath));

 

            BufferedImage buffImg = new BufferedImage(srcImg.getWidth(null), srcImg.getHeight(null),

                    BufferedImage.TYPE_INT_RGB);

 

            // 得到画笔对象

            // Graphics g= buffImg.getGraphics();

            Graphics2D g = buffImg.createGraphics();

 

            // 设置对线段的锯齿状边缘处理

            g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);

 

            g.drawImage(srcImg.getScaledInstance(srcImg.getWidth(null), srcImg.getHeight(null), Image.SCALE_SMOOTH), 0,

                    0, null);

 

            if (null != degree) {

                // 设置水印旋转

                g.rotate(Math.toRadians(degree), (double) buffImg.getWidth() / 2, (double) buffImg.getHeight() / 2);

            }

 

            // 水印图象的路径 水印一般为gif或者png的,这样可设置透明度

            ImageIcon imgIcon = new ImageIcon(iconPath);

 

            // 得到Image对象。

            Image img = imgIcon.getImage();

 

            float alpha = 0.5f; // 透明度

            g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));

 

            // 表示水印图片的位置

            g.drawImage(img, 150, 300, null);

 

            g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));

 

            g.dispose();

 

            os = new FileOutputStream(targerPath);

 

            // 生成图片

            ImageIO.write(buffImg, "JPG", os);

 

            System.out.println("图片完成添加Icon印章。。。。。。");

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            try {

                if (null != os)

                    os.close();

            } catch (Exception e) {

                e.printStackTrace();

            }

        }

    }

}

效果展示:


免责声明:
      1、 资源售价只是赞助,不代表代码或者素材本身价格。收取费用仅维持本站的日常运营所需。
      2、 本站资源来自用户上传,仅供用户学习使用,不得用于商业或者非法用途,违反国家法律一切后果用户自负。用于商业用途,请购买正版授权合法使用。
      3、 本站资源不保证其完整性和安全性,下载后自行检测安全,在使用过程中出现的任何问题均与本站无关,本站不承担任何技术及版权问题,不对任何资源负法律责任。
      4、 如有损害你的权益,请联系275551777@qq.com及时删除。

关于我们 | 积分获取 | 联系我们 | 用户协议 | 标签搜索 | 网站地图.html | 网站地图.xml | 网站地图.txt

Copyright © 2021-2023 All Right Reserved
陕公网安备 61082202000148号      陕ICP备2025078528号-1
js模板网 -陕西千手码农科技有限责任公司