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)一般使用的数据库中都会保存用户名和密码,其中密码不 ...
随机推荐
- CAD2023卸载方法,如何完全彻底卸载删除清理干净cad各种残留注册表和文件?【转载】
cad2023卸载重新安装方法,使用清理卸载工具箱完全彻底删除干净cad2023各种残留注册表和文件.cad2023显示已安装或者报错出现提示安装未完成某些产品无法安装的问题,怎么完全彻底删除清理干净 ...
- CSS 常用样式-文本属性
文本类样式我们已经学习过颜色 color 属性,严格来说行高 line-height 也是文本类属性,由于其可以合写在 font 属性中个,暂时先归类到字体中学习,接下来还有几个常用的文本属性. 水平 ...
- api进阶Day1文件的创建、删除、访问、设置过滤器并查询。目录的删除、创建。
文件的创建: package file; import java.io.File; import java.io.IOException; /* create:创建 new:新 file:文件 使用F ...
- 关于数据传递 json
关于这几种语言的json 操作 Lua local cjson2 = require "cjson" local lua_object = { ["name"] ...
- npm proxy问题
检查你的电脑是否需要配置代理,如果不需要可以将代理禁用: npm config set proxy false 如果是需要配置代理服务的: 开启代理 npm config set proxy true ...
- 【Rust入门】(一)构建自己的第一个Rust项目
安装Rust 参考文档,指定安装目录和镜像配置. rustc --version 检查是否安装成功. 构建程序 使用rustc编译运行 rustc 编译:rustc main.js 运行: Windo ...
- commons-lang3
字符串的处理类(StringUtils) //判断是否为空(注:isBlank与isEmpty 区别) StringUtils.isBlank(null);StringUtils.isBlank(&q ...
- java 1.8 API帮助文档
链接:https://pan.baidu.com/s/1MNZqIokMDWNZF-nXnoHzxA 提取码:zw13
- ASP.NET利用JQuery实现AJAX(前台脚本代码)调用后台静态方法
前台页面的script代码 PS: 如果不需要参数的话,就把data那一行删除 $(function () { //AJAX同步后台 var orderid = parseInt($(this).pa ...
- Laravel安装第一步:Windows 10 上laravel下载与安装需要注意。
1.下载了laravel,查看composer.json文件,搞清楚它需要的PHP版本 2.不要用 composer install !!! 用 composer -vvv install 这样 ...