zoukankan      html  css  js  c++  java
  • 使用thumbnailator给图片加水印

    引入方式:Maven

        <dependency>
            <groupId>net.coobird</groupId>
            <artifactId>thumbnailator</artifactId>
            <version>0.4.8</version>
        </dependency>

    这个是谷歌的一个开源项目

    https://github.com/coobird/thumbnailator

    需要注意,自从2014年发布了0.4.8版本以后,不再更新

    /**
         * 添加水印后,输出文件到path
         * @param is 原图的输入流
         * @param markImg 水印图片
         * @param path 输出路径
         * @throws IOException
         */
        public static void markPicToFile(InputStream is,File markImg,String path) throws IOException {
            BufferedImage image = ImageIO.read(is);
            BufferedImage markImage = ImageIO.read(markImg);
            //原图的宽高
            int imgWidth = image.getWidth(null);
            int imgHeight = image.getHeight(null);
            //水印图片的宽高
            int markWidth = markImage.getWidth(null);
            int markHeight = markImage.getHeight(null);
    
            //计算输出水印图片的位置x和y轴
            int mark_x = imgWidth - imgWidth / 9;
            int mark_y = imgWidth / 9-imgWidth / 10;
            //计算输出水印图片的大小
            int mark_width = imgWidth / 10;
            int mark_height = (imgWidth * markHeight) / (10 * markWidth);
    
            //将水印图片压缩成输出的大小
            markImage = Thumbnails.of(markImage).size(mark_width,mark_height).asBufferedImage();
    
            //watermark(位置,水印图,透明度0.5f=50%透明度)
            //outputQuality(控制图片的质量,1f=100%高质量)
            Thumbnails.of(image)
          .size(imgWidth, imgHeight)
          .watermark(new Coordinate(mark_x,mark_y), markImage, 1f)
          .outputQuality(1f).toFile(path);
    }

    水印图片的大小,我是按原图的比例进行压缩,是原图的十分之一,水印位置是右上角

  • 相关阅读:
    JVM简单入门
    10 张图聊聊线程的生命周期和常用 APIs
    Spring Cloud实战 | 最八篇:Spring Cloud +Spring Security OAuth2+ Axios前后端分离模式下无感刷新实现JWT续期
    ueditor 插入视频代码解析
    CentOS下添加新硬盘并分区格式化的详细步骤
    Java 8 stream
    crontab命令详解
    计算机网络自顶向下学习杂记
    nginx安装
    js识别PC和H5
  • 原文地址:https://www.cnblogs.com/suruozhong/p/12021432.html
Copyright © 2011-2022 走看看