zoukankan      html  css  js  c++  java
  • Java 生成海报

    最近项目有个功能是生成海报

    一个背景图片,一个二维码图片

    将两个图片合并成一个图片。

    写了一个工具类,需要的朋友自取。

     1 @Component
     2 public class PictureUtil {
     3     /**
     4      * @param file1Src 在线图片地址1
     5      * @param file2Src 在线图片地址2
     6      * @param response
     7      * @param x
     8      * @param y
     9      */
    10     public void composePic(String file1Src, String file2Src, Integer x, Integer y, HttpServletResponse response) {
    11         try {
    12             java.net.URL url = new java.net.URL(file1Src);
    13             URLConnection conn = url.openConnection();
    14             InputStream bgFile = conn.getInputStream();
    15             Image bgSrc = javax.imageio.ImageIO.read(bgFile);
    16 
    17             url = new java.net.URL(file2Src);
    18             conn = url.openConnection();
    19             InputStream logoFile = conn.getInputStream();
    20             Image logoSrc = javax.imageio.ImageIO.read(logoFile);
    21 
    22             int bgWidth = bgSrc.getWidth(null);
    23             int bgHeight = bgSrc.getHeight(null);
    24             int logoWidth = logoSrc.getWidth(null);
    25             int logoHeight = logoSrc.getHeight(null);
    26 
    27             BufferedImage tag = new BufferedImage(bgWidth, bgHeight, BufferedImage.TYPE_INT_RGB);
    28 
    29             Graphics2D g2d = tag.createGraphics();
    30             g2d.drawImage(bgSrc, 0, 0, bgWidth, bgHeight, null);
    31             g2d.drawImage(logoSrc, x, y, logoWidth, logoHeight, null);
    32 
    33             ImageIO.write(tag, "png", response.getOutputStream());
    34         } catch (Exception e) {
    35             e.printStackTrace();
    36         }
    37     }
    38 }

    参考:

    Java后台通过IO流将文件返回至前端进行预览

     


    作者:taoz
    出处:www.cnblogs.com/bigbrid
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    本文如对您有帮助,还请多帮 【推荐】 下此文。
    如果喜欢我的文章,请关注我的公众号

  • 相关阅读:
    多线程(一)
    Interface
    Abstract
    面向对象
    字符串比对(10分)
    快递费用计算(7分)
    练习7-8 方阵循环右移 (20分)
    习题4-11 兔子繁衍问题 (15分)
    一道题理解穷举/贪心/爬山/遗传/退火/蚁群算法
    华为暑期测试实习生面经(2020.06)
  • 原文地址:https://www.cnblogs.com/bigbrid/p/14804822.html
Copyright © 2011-2022 走看看