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

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

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

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

 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. Filbeat采集nginx-ingress日志

    一.创建configmap配置文件 注:filebeat6以上版本需要将prospectors改为inputs,paths下指定的nginx-ingress日志路径匹配模式以及hosts指定的kafk ...

  2. linux下opencv contrib安装

    opencv安装 1.1 安装依赖 sudo apt-get update sudo apt-get install build-essential sudo apt-get install cmak ...

  3. Docker安装一些软件

    1.Docker开始远程访问 vim /lib/systemd/system/docker.service 在ExecStart的值最最后面追加:空格+-H tcp://0.0.0.0:2375 sy ...

  4. navicat for mysql (本人亲测,真实有效)

    参考: https://www.cnblogs.com/myprogramer/p/10534481.html 第一步:下载软件 先从Xclient上下载下来Navicat Premium 12.0. ...

  5. Python命令提示符:不是内部或外部命令,也不是可运行的程序或批处理文件

    Python原装IDE(Integrated Development Environment)安装时,需要确认更新pip(什么是 pip ?pip 是 Python 中的标准库管理器.它允许你安装和管 ...

  6. 使用 HTML、CSS 和 JavaScript 制作的随机密码生成器

    ----上图 ------MVC 创建的视图 ,视图名称为A@{ Layout = null;} <!DOCTYPE html><style type="text/css& ...

  7. 01-什么是ElasticSearch

    1.什么是搜索? 百度:我们想要查找想要的一些信息比如在百度搜索一本书,一部电影这就是最常见的搜索 但是百度!=搜索 垂直搜索(站内搜索) 互联网的搜索:电商网站,新闻网站,招聘网站,等等 IT系统的 ...

  8. windows音频设备图像隔离audiodg.exe占用内存高(停止与重启audiodg服务)

    首先想到的办法是结束该进程,于是在任务管理器里结束进程后,内存是释放了,但是发现发现电脑没有声音去到电脑的system32目录下双击audiodg.exe后任然没有声音解决方法如下(重启audiodg ...

  9. 后端006_登录之后返回Token

    现在开始我们就可以写登录相关的东西了.首先登录相关的流程是这样的,前端输入用户和密码传给后端,后端判断用户名和密码是否正确,若正确,则生成JWT令牌,若不正确,则需要让前端重新输入,前端如果拿到了JW ...

  10. jwt auth0 和 jsonwebtoken比较

    参考: https://blog.csdn.net/lizz861109/article/details/104614942/