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

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

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

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

 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流将文件返回至前端进行预览

Java 生成海报的更多相关文章

  1. Java生成微信分享海报【基础设计】

    前言 微信后台生成海报一般都是一个模板写死,然后就完事了,过了不久让修改个模板,就又要看半天,还要考虑是否重新复制一份改一改,越来越多的重复代码,全在一个图片类里,然后就越来越乱.这两天用设计模式处理 ...

  2. Java生成和操作Excel文件(转载)

    Java生成和操作Excel文件   JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该A ...

  3. 利用JAVA生成二维码

    本文章整理于慕课网的学习视频<JAVA生成二维码>,如果想看视频内容请移步慕课网. 维基百科上对于二维码的解释. 二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图 ...

  4. Java生成验证码原理(jsp)

     验证码的作用: 验证码是Completely Automated Public Turing test to tell Computers and Humans Apart(全自动区分计算机和人类的 ...

  5. JAVA生成条形码

    1.下载生成条形码所需要的jar包barcode4j.jar: 2.java生成条形码代码 import java.awt.image.BufferedImage;import java.io.Fil ...

  6. Java生成CSV文件实例详解

    本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils ...

  7. java 生成8位数字作为UID

    java 生成8位数字作为UUID: /*** * 生成uid 8位数字 */public static String generateUID(){ Random random = new Rando ...

  8. java生成随机序列号

    1.java生成随机序列号 String deleteUuid = UUID.randomUUID().toString(); 引用Jar包 //java-uuid-generator-3.1.3.j ...

  9. java生成简单Excel工作薄

    前言: 代码都是建立在实际需求上的,上周做完一个调外部电影券接口的项目,这周产品又要excel表格,大致内容为:券所属影院.图片URL.等信息制作为excel表格,把每次同步过来的数据给他分析. jx ...

  10. 【转】Java生成对应字符串的MD5密码模块

    原文网址:http://www.cnblogs.com/xudong-bupt/archive/2013/05/10/3070899.html (1)一般使用的数据库中都会保存用户名和密码,其中密码不 ...

随机推荐

  1. UCID数据集

    UCID数据集,做实验使用, 免费分享. 自取 链接:https://pan.baidu.com/s/1etMgXShdd_tJFHWbP3ipNw 提取码:62ww

  2. 第16章 发布和部署应用程序(ASP.NET Core in Action, 2nd Edition)

    本章包括 发布 ASP.NET Core 应用程序 在 IIS 中托管 ASP.NET Core 应用程序 自定义 ASP.NET Core 应用程序的 URL 通过捆绑和缩小优化客户端资源 到目前为 ...

  3. 接口文档API、剖析http协议, 原生http请求函数

    http协议:超广本传输协议 特点: 短连接 请求完成后就断开 无状态  对于事务处理无记忆能力 媒体独立 客户端要指定适合的传输内容类型,如json http  是建立在tcp/ip协议之上的应用层 ...

  4. GFF2GTF.py2

    import sys inFile = open(sys.argv[1],'r') for line in inFile: #skip comment lines that start with th ...

  5. 子接口vlan终结

    问题: 在华为的NE40E设备上,配置三层字接口的ip后,接口的physical状态为up, protocol为down,接口还是不可用. 解决方案: 需要在子接口上配置vlan终结,配置如下: 为什 ...

  6. 网站下/.git/index查看

    遇见有些网站目录中存在 http://target.com/.git/index 由于index是二进制文件 下载回来本地查看 初始化 下载到.git目录 git checkout-index -a

  7. ps18.3.20

    PS添加图层蒙版,然后画笔,括号是画笔的大小,,还要调,不透明度

  8. DASCTF NOV X联合出题人-PWN

    太忙了,下午4点才开始做,,剩下的以后补上 签个到 逻辑很简单两个功能的堆,一个就是申请heap.还有一个是检验如果校验通过就会得到flag 申请模块 ​ 中间0x886是个很恶心的东西,需要我们绕过 ...

  9. windos 环境下载安装seata

    参考: https://blog.csdn.net/lianghecai52171314/article/details/127330916

  10. 关于前端JS的一些常用方法和知识

    关于前端数据存储目前只解释有三种:cookie.localStorage.sessionStorage cookie解释:只针对当前session(会话)有效,关闭标签页即失效使用: 1 var ck ...