/**
* jointPic
* @param files
* @param path
*/
public static void jointPic(List<File> files, String path) {
try {
Integer allWidth = 0; // 图片总宽度
Integer allHeight = 0; // 图片总高度
List<BufferedImage> imgs = new ArrayList<>();
for(int i=0; i<files.size(); i++){
imgs.add(ImageIO.read(files.get(i)));
//竖向
if (i==0) {
allWidth = imgs.get(0).getWidth();
}
allHeight += imgs.get(i).getHeight();
// 横向
// if (i==0) {
// allHeight = imgs.get(0).getHeight();
// }
// allWidth += imgs.get(i).getWidth();
}
BufferedImage combined = new BufferedImage(allWidth, allHeight, BufferedImage.TYPE_INT_RGB);
// paint both images, preserving the alpha channels
Graphics g = combined.getGraphics();
// 竖向合成
Integer height = 0;
for(int i=0; i< imgs.size(); i++){
g.drawImage(imgs.get(i), 0, height, null);
height += imgs.get(i).getHeight();
}
// 横向合成
// Integer width = 0;
// for(int i=0; i< imgs.size(); i++){
// g.drawImage(imgs.get(i), width, 0, null);
// width += imgs.get(i).getWidth();
// }
ImageIO.write(combined, "jpg", new File(path));
System.out.println("===合成成功====");
} catch (Exception e) {
System.out.println("===合成失败====");
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception{
List<File> files = new ArrayList<>();
File file1 = new File("C:/Desktop/NO1.jpg");
File file2 = new File("C:/Desktop/NO2.jpg");
files.add(file1);
files.add(file2);
String path = "C:/Users/Administrator/Desktop/new.jpg";
jointPic(files, path);
}
分享到:
相关推荐
刷新追加图片(瀑布流),下拉刷新最新图片,上拉可追加更多的图片,并且图片以瀑布流展示
MDB数据库全能追加合并工具,可以对两个数据库进行同时操作,即使库名、表名和字段名不同,也可方便操作。如不放心或为安全起见,先对两个数据库进行备份,再进行操作。请按软件面板上的指示操作。
C#打开二进制图片文件 读写并追加数据 代码,详细介绍了对jpg文件打开然后往末尾追加二进制数据的过程,能够在jpg图片中隐藏信息,并能够识别这些密码
stata 2.2 资料的合并与追加01.mp4
stata 2.2 资料的合并与追加02.mp4
分割 合并 WIM文件 删除卷 及编辑信息 (分割文件 大小单位 单击可在KB\MB\GB之间切换) 全部功能支持通过拖放操作指定源/目标路径 同时查看多个文件信息 简易和高级模式 导入imagex配置文件 捕获镜像...
TinyPDF是一款小巧免费的...*转换后,可追加、合并PDF *支持大尺寸,满足CAD和出版需求 *JPEG压缩,生成的PDF更小 *支持所有语言 *支持Citrix和微软终端服务器环境 *支持Vista、Win7 *免费向个人和商业应用提供
合并会计报表存在的问题和追加信息.pdf
java 追加文件内容 java 追加文件内容 java 追加文件内容
当存在拓扑错误的时候,arcgis的merge等功能就无法实现多矢量图层的叠加,但是追加(append)能实现多图层的合并,使多个抠图图层变为一个图层
C# FileStream 追加写入字符串到文本中 C# FileStream 追加写入字符串到文本中 C# FileStream 追加写入字符串到文本中 C# FileStream 追加写入字符串到文本中
android ListView 动态追加数据 显示追加进度
61.建立指定路径(D:\HB,文件夹名:HB ,内部放置需要合并的数据库mdb或gdb或shp)2.在arcgis工具箱加载后直接使用(注意HB文件夹内的第一个数据库需完整的要素,只读取第一个数据库内的层,其他的数据库都是追加到...
主要介绍了基于Java向zip压缩包追加文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
功能:(14个功能,注释非常详细!) /*执行初始化*/ /*创建链表*/ /*删除记录*/ /*显示全部记录*/ /*查找记录*/ ... /*追加记录*/ /*索引*/ /*分类合计*/ /*如菜单返回值为14程序结束*/
用法链接:... 基于Qt和C++实现的运行时间记录+源码 运行时间记录 * 1.... * 2.... * 3.... * 4. 可以单独追加一条记录到日志文件。 * 5. 日志为文本格式,清晰明了。
SQL实现两张无关联表的数据列合并在一张结果集中实现思路。
61.建立指定路径(D:\HB,文件夹名:HB ,内部放置需要合并的数据库mdb或gdb或shp)2.在arcgis工具箱加载后直接使用(注意HB文件夹内的第一个数据库需完整的要素,只读取第一个数据库内的层,其他的数据库都是追加到...
不知道有没有朋友还记得之前发的一个“Android应用源码安卓手机17种图片特效处理”图片处理项目,没有看过的朋友可以在本站搜一下“17种”就可以找到,这次大神又发力了,在原来的基础上增加了冰冻、熔铸、连环画、...
跨平台支持doc,docx,rtf的图片插入,不是生成文档,而是在现有文档上追加后生成新文档。 另外需要安装OpenOffic,并且启动服务,详情见jodconverter的官网。 使用到的技术有iText,poi,jodconverter 使用方法: 1、...