java 图片合成到A4纸上
最近2天在做移动端的项目,需要安卓 ios将拍完照的身份证正面和反面以Base64字符串传递给我,我拿到2个图片的地址,将这2张图片通过后台java技术合成到一张A4纸上之后以图片格式给移动端一个URL地址。所以利用了java的文件流操作。
java中的文件操作很复杂,而且只有2个要点第一:将文件解析成流,将流读取出来,或者将一些数据写入到文件中去,
而针对图片的操作自己需要利用图片的流进行读取,另外用到了绘图工具,首先绘制一张A4纸,之后将图片解析而成流的形式,绘制到A4纸上,最后将整个大图片写入到一个新的文件中去:来上代码:
参数说明: 第一张和第二张图片路径 <span style="font-family: Arial, Helvetica, sans-serif;">firstimagepath </span><span style="font-family: Arial, Helvetica, sans-serif;">secondimagepath</span>
合成A4纸上的图片路径 <span style="font-family: Arial, Helvetica, sans-serif;">mbdest</span>
设定A4纸的宽度 高度 width height
合成图片宽度:<span style="font-family: Arial, Helvetica, sans-serif;">widthCut</span>
<span style="font-family: Arial, Helvetica, sans-serif;">float cut_proportion_paper=1.75f;</span>
/**
* 2张图片文件合成到A4纸上
*/
public static void CompieImage(String mbdest,int widthCut,float cut_proportion_paper,int width,int height,String firstimagepath,String secondimagepath){int heightCut = (int)(widthCut/cut_proportion_paper);
//合成图片
//搞出2个类
BufferedImage image = new BufferedImage(width, height,
BufferedImage.SCALE_DEFAULT);
Graphics graphics = image.getGraphics();
BufferedImage img = null;
BufferedImage img2 = null;
try {
//分别从文件中读取流::
//第一张图片的全路径
img = ImageIO.read(new FileInputStream(firstimagepath));
//第二张图片的全路径
img2 = ImageIO.read(new FileInputStream(secondimagepath));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();}
//画出一个白色的A4纸::
graphics.setColor(Color.white);
graphics.fillRect(1, 0, width, height);
int positionPaperX = width/2 - widthCut/2;
int positionPaperY = height/2 - heightCut;
graphics.drawImage(img, positionPaperX, positionPaperY, widthCut, heightCut, null);
graphics.drawImage(img2, positionPaperX, positionPaperY+heightCut, widthCut, heightCut,null);
graphics.dispose();
//------合成文件为文件起名字//将文件写入到新的目的地mbdest目的地地址
try {
ImageIO.write(image, "JPG", new File(mbdest));
} catch (IOException e) {
e.printStackTrace();
}}
哈哈大功告成!!!!!!!!
java 图片合成到A4纸上相关推荐
- 太酷啦!我在A4纸上看宫崎骏动画
转载自:量子位 随意弯曲.任意抖动,丝毫不影响我在纸上看<龙猫>. 这不是什么屏幕黑科技,而是AI合成的图像. 来自港中文-商汤联合实验室.浙江大学.英伟达的研究人员,用AI将图片视频投影 ...
- 我在A4纸上看宫崎骏动画
杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 随意弯曲.任意抖动,丝毫不影响我在纸上看<龙猫>. 这不是什么屏幕黑科技,而是AI合成的图像. 来自港中文-商汤联合实验室.浙江 ...
- 苹果电脑打印A4纸上纸盒的细线很浅
苹果电脑打印A4纸上纸盒的细线很浅 把ai文件转成PDF,再在打印设置里设置成"以图片形式"打印(无缩放),效果好些.
- 如果把一张大图分开matlab,如何把一张大图分开在几张A4纸上打印出来
如何把一张大图分开在几张A4纸上打印出来 作者:小龙博客 2011年08月6日 6条评论 分类:电脑技巧 软件 在生活和工作中,所用的打印机打印的纸张宽度都很有限,以A4纸最为常见,所以要打印较大的图 ...
- 如何将身份证扫描到A4纸上?这3个方法简单有效
分享3个简单有效的将身份证扫描到一张A4纸上的方法,全部都是看一遍就会,扫描后的身份证不仅可以直接进行打印,还能在手机上保存为电子版,随时都可以进行打印. 1.万能图片转换器 一个非常全能的图片格式处 ...
- 如何将证件照片打印在A4纸上
打印证件照片时,我们一般使用的都是专业的照片纸,连接的也是照片打印机,但是有些用户会有一些其他的要求,比如把证件照片打印在A4纸上.这对于专业的证件照片打印软件来说是很简单的,下面我们就介绍一下操作方 ...
- wps打印缩放到一页_WPS文档过长时,如何在A4纸上完美打印
本教程适用版本:WPS Office 2019 PC版点此使用 现在WPS已经是不可或缺的办公软件了,大家在办公时肯定会遇到Excel表格打印的问题,小编就会时常遇到一个头疼的问题,就是在表格过长的时 ...
- 如何在A4纸上排版多个二维码?
随着二维码技术的成熟以及使用的普及,很多用户在打印二维码时不再局限于专业二维码打印机,也会连接办公室的普通打印机,在普通的A4纸上打印二维码.那么,具体的操作步骤如何呢,我们下面详细介绍. 首先打开条 ...
- 如何在A4纸上打印标签
我们在制作条码标签的时候,一般都是使用标签打印机打印在专门的标签纸上.但是也有一种情况就是设计完标签后在A4纸上打印,这样一张纸上就可以打印多张标签.具体如何操作小编将详细介绍. 一.首先我们打开条码 ...
最新文章
- uniapp移动端H5在线预览PDF等文件实现源码及注解
- 上传图片,多图上传,预览功能,js原生无依赖
- 分析与设计(AD)简介(3)
- 吐血整理:24种可视化图表优缺点对比,一图看懂!
- Java 生成滑动图片验证码, 阴影, 切块
- 005 Android之数据存储
- 聚合型神器!有了他,手机里app可以删一半
- SecureCRT中使用 rz 上传文件 遇到 rz: command not found 的解决办法
- C - Digital Path 计蒜客 - 42397(dp记忆化搜索)
- 码农的自我修炼之路-----BST
- 用隐喻来更充分地理解软件开发
- $(window).load(function(){})跟$(document).ready(function(){})跟$(function(){})区别
- 防火墙转发流量的原理
- 56个免费资源网站,总有你想要的。
- 计算机专业论文选题的8个方法
- mysql 并发 链接失败_瞬发大量并发连接 造成MySQL连接不响应的分析
- rabbitMQ修改默认端口
- 英特尔发布Xeon D-1600处理器:10nm工艺 性能提升40%
- 阿里云认证证书合集(一起来考证)
- 夜访北京互联网公司:「码农」十点下班很正常,加班成纠纷焦点