将多张图片合成一张,不多说直接上代码:注意当图片宽度不同时会报数组下标异常。

 /*** *@类功能说明:java拼接多张图片,生成的格式是jpg、bmp、gif等,*            如果其他格式则报错或者photoshop或者画图工具打不开*@修改人员名: yang*@修改日期:2016-3-10 上午10:35:04*@创建时间:2016-3-10 上午10:35:04* -------------------------------------------------------------------------------------------*  修改次数         修改人员    修改内容                       修改原因                     *                                                                                                                                   * @备注:只能拼接同类型的图片(不能连续拼接)、宽度需要一致(高度可以不限制)* @版本: V1.0*/
public class JoinMoreImage  {/** * Java拼接多张图片 *  * @param imgs 图片地址集合* @param type 图片类型* @param dst_pic //输出的文件:F:/test2.jpg* @return */  public static boolean merge(String[] imgs, String type, String dst_pic) {  //获取需要拼接的图片长度int len = imgs.length;  //判断长度是否大于0if (len < 1) {  return false;  }  File[] src = new File[len];  BufferedImage[] images = new BufferedImage[len];  int[][] ImageArrays = new int[len][];  for (int i = 0; i < len; i++) {  try {  src[i] = new File(imgs[i]);  images[i] = ImageIO.read(src[i]);  } catch (Exception e) {  e.printStackTrace();  return false;  }  int width = images[i].getWidth();  int height = images[i].getHeight();  // 从图片中读取RGB 像素ImageArrays[i] = new int[width * height];ImageArrays[i] = images[i].getRGB(0, 0, width, height,  ImageArrays[i], 0, width);  }  int dst_height = 0;  int dst_width = images[0].getWidth();  //合成图片像素for (int i = 0; i < images.length; i++) {  dst_width = dst_width > images[i].getWidth() ? dst_width     : images[i].getWidth();  dst_height += images[i].getHeight();  }  //合成后的图片System.out.println("宽度:"+dst_width);  System.out.println("高度:"+dst_height);  if (dst_height < 1) {  System.out.println("dst_height < 1");  return false;  }  // 生成新图片   try {  dst_width = images[0].getWidth();   BufferedImage ImageNew = new BufferedImage(dst_width, dst_height,  BufferedImage.TYPE_INT_RGB);  int height_i = 0;  for (int i = 0; i < images.length; i++) {  ImageNew.setRGB(0, height_i, dst_width, images[i].getHeight(),  ImageArrays[i], 0, dst_width);  height_i += images[i].getHeight();  }  File outFile = new File(dst_pic);  ImageIO.write(ImageNew, type, outFile);// 写图片 ,输出到硬盘 } catch (Exception e) {  e.printStackTrace();  return false;  }  return true;  }  //测试类:注意图片的长宽高不一致可能会报错public static void main(String[] args) {//输入图片地址String[] imgs={"F:/tomcat7/webapps/PicLive/image/fc24fa10-31.jpg","F:/tomcat7/webapps/PicLive/image/08f48370-.jpg"};//调用方法生成图片JoinMoreImage.merge(imgs,"jpg","F:/test.jpg");}}

java代码合成多张图片成一张相关推荐

  1. Java代码判断数据库中某张表是否存在

    最近在开发一个同步数据的统计任务的时候遇到一个问题:要在Java代码中判断数据库中某张表是否存在,查资料后,总结了以下两种方法: 1.使用JdbcTemplate bean public boolea ...

  2. java 图片合成_java 将两张相片合成一张,开发实用类

    实现将两压缩好的图片 写在一张画布上 思路,先成一个足够大的画布 放入两张相片 以下代码需要改进 import java.awt.AlphaComposite; import java.awt.Gra ...

  3. java代码实现多张图片/单张图片文件上传

    在项目中有这样的需求,有多个地方需要用到上传图片的功能,可以上传一张或多张照片.这时候自然想到了封装,来达到复用的目的.前后端分离开发,可以在上传文件后返回图片路径给前端,然后在最后整个需求完成后由前 ...

  4. iservice封装有哪些方法_请问这段Java代码能不能封装成一个方法

    问题描述 这段代码在我的项目中经常会被使用到,想要把它封装成一个方法以达到减少代码量的目的,但由于本人是个菜鸟没能做到,希望有心的大神提供下思路.在此先行拜谢了. 目的:想将hardwareServi ...

  5. chatgpt赋能python:Python将两张图片拼接成一张图:让您的图片处理更高效!

    Python将两张图片拼接成一张图:让您的图片处理更高效! 作为一个有着10年Python编程经验的工程师,我发现Python成为了许多项目的主要语言,其中涵盖了很多关于图像处理的应用程序.在本文中, ...

  6. 实用常识 | 如何将多张图片合成一张gif图片(使用Win10自带工具or利用Photoshop实现)

    今天遇到了一个需求,需要将多张图片合成一张gif图片,利用搜索引擎搜来搜去,尝试了很多在线的网页端工具,不过要么是有水印,要么是需付费,而且合成效果也不是很好,找来找去,Win10自带的视频合成工具也 ...

  7. PIL实现两张图片合成一张,和图片加文字

    PIL实现两张图片合成一张,和图片加文字 文章目录: 一.PIL实现两张图片合成一张 1.方法一: 2.方法二 二.图片添加文字 首先说明一下: (小姐姐是谁,是my sweetheart ,请勿使用 ...

  8. 什么相片可以两张弄成一张_怎么将两张图片合成一张?

    有时候我们需要将两张图片放在一起相比较,但是两张图片相互切换对比起来比较困难,有没有什么办法将两张图片合成一张?方法是肯定有的,而且还是多种多样的,本文就给大家介绍一种对普通用户来说最简单方便快捷的方 ...

  9. 什么相片可以两张弄成一张_ps怎么把两张图片合成一张

    ps怎么把两张图片合成一张 图片应用在我们的生活中十分广泛,Photoshop似乎已经离不开我们的生活.点点滴滴回忆刻印成一张张图片.不过有不少网友却不知道ps怎么把两张图片合成一张,下文将一一为大家 ...

  10. 如何将两张图片上下合成一张?

    如何将两张图片上下合成一张?不知道大家有没有遇到过这样的情况,工作中需要将两张图片上传到某个网站上,但是网站只能允许上传一张图片,相信很多小伙伴都有过这样的经历吧.这个时候大家会怎么办呢?有什么方法可 ...

最新文章

  1. 网页分析利器:IEDevToolBar
  2. saltstack之(二)软件包下载安装
  3. 【ssh从零单排】关于HTTP Status 404的debug问题
  4. Python 序列类型支持拆包操作
  5. python 如何引用同一个目录下的另一个py文件
  6. iToken----开发前准备
  7. 获取天气html,使用htmlparser获取sohu的天气预报
  8. 贪婪洞窟2服务器维护,《贪婪洞窟2》11月30日更新维护多久 贪婪洞窟2更新维护公告...
  9. 华语乐坛趋势报告(2022)
  10. linux 挂载硬件设备
  11. 大一python考试知识点_Python基础知识点(精心整理)
  12. python 爬取全国统计用区划代码和城乡划分代码
  13. js 获取浏览器高度、浏览器宽度
  14. 倾斜摄影测量知识基础
  15. C#窗体应用程序之设置窗体名称和程序图标
  16. 在VS2005和2008的对话框里,添加了一个MSCOMM通信控件,怎么mscomm.h和mscomm.cpp没有自动出现?
  17. ios系统设置z-index不生效问题
  18. 牛客网数字化招聘解决方案,支持10万人同时在线笔试
  19. Microsoft自家的虚拟光驱 Virtual CD-ROM Control Panel for Wind
  20. 牛盾网络验证源码全开源【易语言】

热门文章

  1. QPushButton中clicked消息参数一直返回false问题解决方法
  2. android ui设计 面试问题,2019新版UI设计面试题汇总附答案
  3. Android google中文开发网站
  4. win10系统盘分多大合适?
  5. PHP语言之MySQL操作
  6. 申请谷歌地图API介绍
  7. SAA7113视频解码芯片介绍
  8. 递推DP UVA 473 Raucous Rockers
  9. 农行笔试题之多少年后两国人均GDP相等
  10. 基于yolov3 v4 v5的电梯轿厢下的电动车目标检测