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 生成海报的更多相关文章
- Java生成微信分享海报【基础设计】
前言 微信后台生成海报一般都是一个模板写死,然后就完事了,过了不久让修改个模板,就又要看半天,还要考虑是否重新复制一份改一改,越来越多的重复代码,全在一个图片类里,然后就越来越乱.这两天用设计模式处理 ...
- Java生成和操作Excel文件(转载)
Java生成和操作Excel文件 JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该A ...
- 利用JAVA生成二维码
本文章整理于慕课网的学习视频<JAVA生成二维码>,如果想看视频内容请移步慕课网. 维基百科上对于二维码的解释. 二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图 ...
- Java生成验证码原理(jsp)
验证码的作用: 验证码是Completely Automated Public Turing test to tell Computers and Humans Apart(全自动区分计算机和人类的 ...
- JAVA生成条形码
1.下载生成条形码所需要的jar包barcode4j.jar: 2.java生成条形码代码 import java.awt.image.BufferedImage;import java.io.Fil ...
- Java生成CSV文件实例详解
本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils ...
- java 生成8位数字作为UID
java 生成8位数字作为UUID: /*** * 生成uid 8位数字 */public static String generateUID(){ Random random = new Rando ...
- java生成随机序列号
1.java生成随机序列号 String deleteUuid = UUID.randomUUID().toString(); 引用Jar包 //java-uuid-generator-3.1.3.j ...
- java生成简单Excel工作薄
前言: 代码都是建立在实际需求上的,上周做完一个调外部电影券接口的项目,这周产品又要excel表格,大致内容为:券所属影院.图片URL.等信息制作为excel表格,把每次同步过来的数据给他分析. jx ...
- 【转】Java生成对应字符串的MD5密码模块
原文网址:http://www.cnblogs.com/xudong-bupt/archive/2013/05/10/3070899.html (1)一般使用的数据库中都会保存用户名和密码,其中密码不 ...
随机推荐
- 修改allure图标和标题
allure的logo更换步骤 1.找到allure安装目录,进入目录如:D:\Program Files\allure-2.17.3\plugins\custom-logo-plugin\stati ...
- Verilog标识符与关键字
Verilog标识符与关键字 1.标识符: Verilog HDL中的标识符是指用来声明数据,变量,端口,例化名等除关键字外的所有名称的组合.如:input a, 这里a就是一个标识符,用来代表一个输 ...
- Unity学习笔记——坐标转换(1)
1.Center与Pivot的区别 Pivot是模型坐标轴的真实位置,将辅助图标定位在网格的实际轴心点. Center是模型渲染边界的中心. 当包含子物体时,Pivaot模式辅助图标在物体的实际轴心点 ...
- HBase架构、模型、特点
如需大数据开发整套视频(hadoop\hive\hbase\flume\sqoop\kafka\zookeeper\presto\spark):请联系QQ:1974983704 1.HBase概述 H ...
- Docker 环境规划 (Docker安装)
一.环境规划 支持Java.dotNet.Vue项目构建 二.切换系统镜像源 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.rep ...
- python中创建列表、元组、字符串、字典
>>> a = ["aaa","bbb","ccc"] ## 列表,中括号,逗号 >>> type(a) ...
- Docker 容器的备份和迁移
Docker的Save和Export的区别 Docker的镜像和容器有两种方式导出 Docker Save镜像方法,会保存该镜像的所有历史记录,包括数据 1.创建快照 使用 docker commit ...
- 面试-JVM
1.java内存模型 / java运行时数据区模型? 元空间属于本地内存 而非JVM内存 内存模型 程序计数器 1.作为字节码的行号指示器,字节码解释器通过程序计数器来确定下一步要执行的字节码指令,比 ...
- 【帆吖】Java学习零基础21
数组 1 package array; 2 3 public class Demo1 { 4 public static void main(String[] args) { 5 int[ ] num ...
- Codeforces Round #803 (Div. 2) A-D 刚vp完还没补题
Codeforces Round #803 (Div. 2) 2022/7/24 上午VP 传送门:https://codeforces.com/contest/1698 A. XOR Mixup 随 ...