成都创新互联网站制作重庆分公司

java画图工具来添加水印的实现方法

这篇文章主要讲解了“java画图工具来添加水印的实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java画图工具来添加水印的实现方法”吧!

在萨嘎等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站设计 网站设计制作按需定制,公司网站建设,企业网站建设,品牌网站设计,成都全网营销推广,外贸网站建设,萨嘎网站建设费用合理。

用Java代码给图片加水印

不多哔哔,直接上代码:

    /**
     * @param srcImgFile       原图片文件对象
     * @param outFile          输出图片文件对象
     * @param waterMarkContent 水印内容
     * @param markContentColor 水印颜色
     * @param rate             字体间距
     * @param x                x轴位置
     * @param y                y轴位置
     * @param font             字体
     */
    public static void addWaterMark(File srcImgFile, File outFile, String waterMarkContent, Color markContentColor, double rate, int x, int y, Font font) {


        try {
            // 读取原图片信息
            Image srcImg = ImageIO.read(srcImgFile);//文件转化为图片
            int srcImgWidth = srcImg.getWidth(null);//获取图片的宽
            int srcImgHeight = srcImg.getHeight(null);//获取图片的高
            // 加水印
            BufferedImage bufImg = new BufferedImage(srcImgWidth, srcImgHeight, BufferedImage.TYPE_INT_RGB); // 获取图片缓冲区
            Graphics2D g = bufImg.createGraphics(); // 创建Graphics2D画笔对象
            g.drawImage(srcImg, 0, 0, srcImgWidth, srcImgHeight, null);
            g.setColor(markContentColor); //根据图片的背景设置水印颜色
            g.setFont(font);              //设置字体

            WaterMarkUtils.MyDrawString(waterMarkContent,x,y,rate,g); // 设置字体间距加输出
            
            g.dispose(); // 进行处理
            // 输出图片  
            FileOutputStream outImgStream = new FileOutputStream(outFile); // 创建文件输出流
            ImageIO.write(bufImg, "jpg", outImgStream);
            System.out.println("添加水印完成");
            outImgStream.flush(); // 刷新文件
            outImgStream.close(); // 释放资源
        } catch (Exception e) {
            System.out.println("异常");
            e.printStackTrace();
        }
    }
设置字体间距

这个是在百度上找的,原贴的地址https://blog.csdn.net/zixiaomuwu/article/details/51068698

    /**
     * 设置字体间距加输出
     * @param str  输出字符串
     * @param x    x轴
     * @param y    y轴
     * @param rate 字体间距
     * @param g    画笔对象
     */
    public static void MyDrawString(String str,int x,int y,double rate,Graphics2D g){
        String tempStr=new String();
        int orgStringWight=g.getFontMetrics().stringWidth(str);
        int orgStringLength=str.length();
        int tempx=x;
        int tempy=y;
        while(str.length()>0)
        {
            tempStr=str.substring(0, 1);
            str=str.substring(1, str.length());
            g.drawString(tempStr, tempx, tempy);
            tempx=(int)(tempx+(double)orgStringWight/(double)orgStringLength*rate);
        }
    }

感谢各位的阅读,以上就是“java画图工具来添加水印的实现方法”的内容了,经过本文的学习后,相信大家对java画图工具来添加水印的实现方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


文章名称:java画图工具来添加水印的实现方法
浏览路径:http://cxhlcq.com/article/iieepo.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部