最近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纸上相关推荐

  1. 太酷啦!我在A4纸上看宫崎骏动画

    转载自:量子位 随意弯曲.任意抖动,丝毫不影响我在纸上看<龙猫>. 这不是什么屏幕黑科技,而是AI合成的图像. 来自港中文-商汤联合实验室.浙江大学.英伟达的研究人员,用AI将图片视频投影 ...

  2. 我在A4纸上看宫崎骏动画

    杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 随意弯曲.任意抖动,丝毫不影响我在纸上看<龙猫>. 这不是什么屏幕黑科技,而是AI合成的图像. 来自港中文-商汤联合实验室.浙江 ...

  3. 苹果电脑打印A4纸上纸盒的细线很浅

    苹果电脑打印A4纸上纸盒的细线很浅 把ai文件转成PDF,再在打印设置里设置成"以图片形式"打印(无缩放),效果好些.

  4. 如果把一张大图分开matlab,如何把一张大图分开在几张A4纸上打印出来

    如何把一张大图分开在几张A4纸上打印出来 作者:小龙博客 2011年08月6日 6条评论 分类:电脑技巧 软件 在生活和工作中,所用的打印机打印的纸张宽度都很有限,以A4纸最为常见,所以要打印较大的图 ...

  5. 如何将身份证扫描到A4纸上?这3个方法简单有效

    分享3个简单有效的将身份证扫描到一张A4纸上的方法,全部都是看一遍就会,扫描后的身份证不仅可以直接进行打印,还能在手机上保存为电子版,随时都可以进行打印. 1.万能图片转换器 一个非常全能的图片格式处 ...

  6. 如何将证件照片打印在A4纸上

    打印证件照片时,我们一般使用的都是专业的照片纸,连接的也是照片打印机,但是有些用户会有一些其他的要求,比如把证件照片打印在A4纸上.这对于专业的证件照片打印软件来说是很简单的,下面我们就介绍一下操作方 ...

  7. wps打印缩放到一页_WPS文档过长时,如何在A4纸上完美打印

    本教程适用版本:WPS Office 2019 PC版点此使用 现在WPS已经是不可或缺的办公软件了,大家在办公时肯定会遇到Excel表格打印的问题,小编就会时常遇到一个头疼的问题,就是在表格过长的时 ...

  8. 如何在A4纸上排版多个二维码?

    随着二维码技术的成熟以及使用的普及,很多用户在打印二维码时不再局限于专业二维码打印机,也会连接办公室的普通打印机,在普通的A4纸上打印二维码.那么,具体的操作步骤如何呢,我们下面详细介绍. 首先打开条 ...

  9. 如何在A4纸上打印标签

    我们在制作条码标签的时候,一般都是使用标签打印机打印在专门的标签纸上.但是也有一种情况就是设计完标签后在A4纸上打印,这样一张纸上就可以打印多张标签.具体如何操作小编将详细介绍. 一.首先我们打开条码 ...

最新文章

  1. Python input()
  2. spring+cxf
  3. 推荐系统相关算法(2):k-nearest neighbor
  4. Error: Java heap space
  5. CPtrArray、CObArray类
  6. 触发器 REFERENCING OLD AS OLD NEW AS NEW FOR EACH Row
  7. java---解析XML文件,通过反射动态将XML内容封装到一个类中
  8. 系统请求从桌面计算机还原所有数据,电脑怎么一键还原
  9. 使用DevExpress的PdfViewer实现PDF打开、预览、另存为、打印(附源码下载)
  10. git clone出错
  11. 华为服务器麒麟系统,麒麟服务器
  12. 定义客户类(Customer): 1,客户类的属性包括:姓名、年龄、电话、金钱数量、账号、密码; 2,方法包括:购买商品、付款、显示自己的信息。 3,创建测试类,在main方法中使用客户类创建两个客户
  13. 核定征收的个体户,年营业额不超过120万,还需要缴纳个税吗?
  14. 西文是指什么,【英语中的复合句是指什么具体来说是指哪些类的语法知识?】作业帮...
  15. 2023 Archlinux NVIDIA 3070 intel 双显卡驱动 + i3wm 解决方案
  16. java先进先出 循环队列_java队列--先进先出(循环队列、链队列)
  17. 8万条数据告诉你:跟着大股东和高管买他家股票,能赚钱吗?【邢不行|量化小讲堂系列60-实战篇】
  18. 平面度、 共面度、 翘曲度三者区别
  19. 计算机自动连续进行数据处理是因为什么,现代计算机之所以能自动连续进行数据处理是因为什么...
  20. JAVA虚拟机学习总结

热门文章

  1. 准备2023金三银四的Java程序员注意:40多份5000+页面试资料来啦
  2. 学习Java的最佳方法
  3. 超多软件百度云盘资源及安装教程
  4. 数学建模笔记——灰色关联分析
  5. 游戏测试题目和答案是什么软件,寻求答案 这是一个测试题 我做好了 可不知道答案!...
  6. Scrum Alliance国际Scrum中文认证和敏捷教练职业发展体系
  7. YYModel的使用
  8. 解决打开谷歌浏览器主页显示桔梗网的问题
  9. 2022计算机考研统考的院校有哪些,2022考研初试科目有变化的部分院校整理,有需求的同学自取...
  10. linux:命令su、exit、sudo登入、退出用户、临时root权限详解。