/**

* 拼接图片(注:图片需长宽一致)

* @param files img1 ,img2

* @param type 1:横向拼接 2:纵向拼接

* @param targetFile 合成新的图片地址

*/

public static void mergeImage(String[] files, int type, String targetFile) {

int len = files.length;

if (len < 1) {

throw new RuntimeException("图片数量小于1");

}

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(files[i]);

images[i] = ImageIO.read(src[i]);

} catch (Exception e) {

throw new RuntimeException(e);

}

int width = images[i].getWidth();

int height = images[i].getHeight();

ImageArrays[i] = new int[width * height];

ImageArrays[i] = images[i].getRGB(0, 0, width, height, ImageArrays[i], 0, width);

}

int newHeight = 0;

int newWidth = 0;

for (int i = 0; i < images.length; i++) {

// 横向

if (type == 1) {

newHeight = newHeight > images[i].getHeight() ? newHeight : images[i].getHeight();

newWidth += images[i].getWidth();

} else if (type == 2) {// 纵向

newWidth = newWidth > images[i].getWidth() ? newWidth : images[i].getWidth();

newHeight += images[i].getHeight();

}

}

if (type == 1 && newWidth < 1) {

return;

}

if (type == 2 && newHeight < 1) {

return;

}

// 生成新图片

try {

BufferedImage ImageNew = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);

int height_i = 0;

int width_i = 0;

for (int i = 0; i < images.length; i++) {

if (type == 1) {

ImageNew.setRGB(width_i, 0, images[i].getWidth(), newHeight, ImageArrays[i], 0,

images[i].getWidth());

width_i += images[i].getWidth();

} else if (type == 2) {

ImageNew.setRGB(0, height_i, newWidth, images[i].getHeight(), ImageArrays[i], 0, newWidth);

height_i += images[i].getHeight();

}

}

//输出想要的图片

ImageIO.write(ImageNew, targetFile.split("\\.")[1], new File(targetFile));

} catch (Exception e) {

throw new RuntimeException(e);

}

}

java拼接图片大小_Java实现图片拼接(注:图片需长宽一致)相关推荐

  1. java保存当前页面为图片大小_java用BufferedImage转换图片大小并保存

    java用BufferedImage转换图片大小并保存,保存的图片总是一片黑色 程序实现将一个图片缩小成256*256像素图片并保存,源图片为jpg格式,但是每次转换后存在文件夹中的文件均为一片黑色, ...

  2. java改变背景图片大小_java编写界面设置 背景图片的大小

    设置背景图片大小跟电脑屏幕大小一致: 方法: ImageIcon background = new ImageIcon("res\\index.jpg"); Dimension s ...

  3. java 程序实现对图片的压缩生成缩略图并可设定长宽、尺寸压缩率、图片质量

    转载自  java 程序实现对图片的压缩生成缩略图并可设定长宽.尺寸压缩率.图片质量 之前是在另一位高手的上传内容中学习到的,并将其代码根据我的需求进行了修改,参考位置:http://jiangpin ...

  4. python批量resize图片大小_python opencv 批量改变图片的尺寸大小的方法

    我目标文件夹下有一大批图片,我要把它转变为指定尺寸大小的图片,用pthon和opencv实现的. 以上为原图片. import cv2 import os # 按指定图像大小调整尺寸 def resi ...

  5. java验证图片大小_java 校验图片的大小、尺寸、比例

    import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.i ...

  6. java jlabel图片大小_java – 调整图片大小以适应JLabel

    大纲 以下是要遵循的步骤. >将图片作为BufferedImage读取. >将BufferedImage的大小调整为另一个大小为JLabel的BufferedImage. >从调整大 ...

  7. java 简单图片浏览器_Java实现简单的图片浏览器

    第一次写博客,不喜勿喷. 最近一个小师弟问我怎么用Java做图片浏览器,感觉好久没玩Java了,就自己动手做了一下. 学校的教程是用Swing来做界面的,所以这里也用这个来讲. 首先要做个大概的界面出 ...

  8. html页面懒加载灰度图片大小,小程序初级指南--图片及其优化

    图片格式 开发中常见的图片格式有 GIF.PNG8.PNG24.JPEG.WEBP. 我们需要根据图片格式的特性和场景需要选取适合的图片格式,而不是设计给什么用什么. PNGPNG 的目的是替代GIF ...

  9. android页面设置背景图片大小,android页面设置background为图片后,页面滑动掉帧问题...

    最近接手的一个android项目里面,有个viewpager+3个fragment的页面,就是很常见的可以左右滑动切换页面的那种布局.接手的时候告诉我,这个页面有卡顿现象,性能需要优化.一开始觉得是f ...

最新文章

  1. CentOS的el5, el6, el7代表什么
  2. Leetcode 171. Excel表列序号 解题思路及C++实现
  3. 卷积神经网络的网络结构——以LeNet-5为例
  4. Pytorch中图像预处理相关函数
  5. 列出Sell in application所有可以传输的application object
  6. 222. 完全二叉树的节点个数 golang
  7. Nginx的开启和关闭
  8. VSCode 开发Vue必备插件
  9. java service层 事务_Java高并发秒时啊API之Service层1
  10. 华为交换机配置时区_华为交换机怎么设置时间?
  11. micropython做产品开发_关于MicroPython是否可以真正用在产品开发的讨论
  12. 【报告分享】中国人工智能产业发展指数.pdf
  13. Win10 原版系统安装
  14. 电工结业试卷_电工结业总结
  15. 智齿科技宣布C轮获用友领投2.1亿战略投资
  16. 邮件服务器3---mx记录及postfix相关文件介绍
  17. R语言与克朗巴哈alpha系数
  18. 黑白琴键 java_黑白琴键上的爱阅读答案
  19. springboot在Gradle7以上版本不识别compile解决方案
  20. 解决查看 Hotmail 电子邮件乱码

热门文章

  1. excel到期弹窗提醒桌面弹_excel中某列日期到期提前弹窗提醒()
  2. 树莓派(四)——摄像头的安装和简单使用
  3. 【Matlab图像去噪】高通+低通+带通+方向滤波器图像滤波【含源码 1209期】
  4. 比特安审计中心安全问题探究:DEFI知识普及
  5. 【NKOJ-昨天今天和明天】考试游记
  6. 小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。
  7. 不知道怎样识别植物?这几款软件来帮你
  8. springboot刷题网站在线考试系统毕业设计毕设作品开题报告开题答辩PPT
  9. java获取字符串的长度
  10. JestClient - Elasticsearch 基本操作汇总