`

java合并几个图片

 
阅读更多

package com.anduo.web;

import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

public class Test {
    public static void main(String args[]) {
        try {
            // 读取第一张图片
            File fileOne = new File("D:\\1.jpg");
            BufferedImage ImageOne = ImageIO.read(fileOne);
            int width = ImageOne.getWidth();// 图片宽度
            int height = ImageOne.getHeight();// 图片高度

            // 从图片中读取RGB
            int[] ImageArrayOne = new int[width * height];
            ImageArrayOne = ImageOne.getRGB(0, 0, width, height, ImageArrayOne, 0, width);

            // 对第二张图片做相同的处理
            File fileTwo = new File("D:\\2.jpg");
            BufferedImage ImageTwo = ImageIO.read(fileTwo);
            int[] ImageArrayTwo = new int[width * height];
            ImageArrayTwo = ImageTwo.getRGB(0, 0, width, height, ImageArrayTwo, 0, width);

            // 生成新图片
            //   BufferedImage ImageNew = new BufferedImage(width * 2, height,
            //   BufferedImage.TYPE_INT_RGB);
            BufferedImage ImageNew = new BufferedImage(width, height * 2, BufferedImage.TYPE_INT_RGB);
            ImageNew.setRGB(0, 0, width, height, ImageArrayOne, 0, width);// 设置左半部分的RGB
            //   ImageNew.setRGB(width, 0, width, height, ImageArrayTwo, 0, width);// 设置右半部分的RGB
            //   ImageNew.setRGB(0, height, width, ImageOne.getHeight()+ImageTwo.getHeight(), ImageArrayTwo, 0, width);// 设置右半部分的RGB
            ImageNew.setRGB(0, height, width, height, ImageArrayTwo, 0, width);// 设置右半部分的RGB

            File outFile = new File("d:\\out.jpg");
            ImageIO.write(ImageNew, "jpg", outFile);// 写图片
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}
 参考 : http://blog.donews.com/sunjita/archive/2010/05/18/1249464.aspx
分享到:
评论

相关推荐

    java 使用POI合并两个word文档.docx

    在上面的代码中,我们可以看到,main 函数中主要完成了以下几个步骤: 1. 读取两个 Word 文档,使用 FileInputStream 读取文档,获得 OPCPackage 对象。 2. 创建新的 Word 文档,使用 XWPFDocument 对象。 3. 将两...

    利用Java程序把多张图片合成一张图片

    在Java编程语言中,将多张图片合成一张图片是一项常见的图像处理任务,广泛应用于各种应用场景,如社交媒体拼图、报告生成、数据可视化等。要实现这个功能,我们需要使用到Java的图像处理库,如Java AWT(Abstract ...

    Java将多张图片合成为一张图像.rar

    Java将多张图片合成为一张,类似于PhotoShop中的合成图片,将两张图片合成输出为一张JPG,两幅图像叠加在一起,这是个比较基础的Java图像合成的例子。在JAVA中实现图片合成,本例的实现核心代码如下:  InputStream...

    java 多个小文件合成一个文件

    将文件列表分割成几个部分,每个线程负责合并一部分,最后再将结果合并在一起。此外,还可以使用Java NIO(New IO)框架,它提供了更高效、非阻塞的I/O操作,适用于处理大量数据。 总之,Java提供了一套强大的I/O流...

    java运用poi填充word数据并将多个word合并为一个

    - 提供的附件包括了几个测试模板文件(1.docx, 2.docx, 3.docx, test.docx)以及一个名为“poitest”的Java代码文件,可以作为实际操作的参考。 6. **实际应用** 这种技术常用于自动化报告生成、批量文档处理或者...

    多文件夹/文件的合并软件及源代码(Java)

    一个完整的Java程序,用于合并文件夹和文件,可能包括以下几个部分: - 主类,负责启动程序和接收用户输入。 - 文件合并类,包含合并单个文件的逻辑。 - 文件夹合并类,负责处理目录结构和递归合并。 - 错误处理...

    通过BufferedImage实现将几张图片合成一张图片,图片效果类型为依次排列图片

    这个方法分为以下几个步骤: 1. **读取图片**:使用`ImageIO.read()`方法读取每一张图片到`BufferedImage`对象中。 2. **计算合成图片的尺寸**:根据每张图片的宽度和高度,以及预定的排列方式(如水平或垂直排列)...

    java文件分割合并

    文件分割通常涉及到以下几个步骤: 1. **读取源文件**:使用`FileInputStream`类打开源文件,通过`read()`方法逐字节地读取文件内容。 2. **确定分割大小**:定义每个分片文件的大小,比如1MB或2MB等。 3. **创建...

    java操作wordpdf图片生成图片水印

    在生成图片水印的过程中,我们需要考虑以下几点: 1. **水印设计**:水印可以是文本(如日期、公司名称或“机密”等字样),也可以是图像。设计时需注意透明度设置,以确保不影响文档内容的可读性。 2. **定位与...

    将大文件分割及合并java源码

    这通常涉及到以下几个步骤: 1. 计算分割大小:根据目标大小,计算出需要分割的文件数量。 2. 创建子文件:为每个子文件创建新的`File`对象。 3. 读写操作:使用`BufferedInputStream`读取原始大文件,使用`...

    java合并xml1

    对于题目中的"java合并xml1",我们可以采用以下几种方法: 1. **DOM解析器合并**: 使用JDOM或Apache的DOM解析库(如`org.w3c.dom`)读取XML文件,将它们转换为DOM对象。然后,可以遍历这些DOM对象,将它们的子...

    java的日志合并

    本示例中涉及到了Java标准库中的几个关键类,包括`File`、`BufferedReader`、`BufferedWriter`等,用于处理文件读写操作。 - **File类**:用于创建表示文件或目录的抽象路径名。在本例中,`File`对象用于指定日志...

    将几个集合中相同元素合并

    该Java程序的主要目的是处理字符串集合,具体来说是将具有相同字符的字符串进行合并,最终得到一个包含无交集字符串的集合。 #### 二、核心概念解释 1. **集合**:在计算机科学中,集合是一种数据结构,用于存储不...

    Hive内部表合并小文件Java程序

    Java程序实现Hive内部表小文件合并通常包括以下几个步骤: 1. **获取HDFS上的文件列表**:使用Hadoop的`FileSystem` API,我们可以列举出目标目录下的所有文件,这些文件通常是Hive内部表的各个分区下的小文件。 2...

    Java实现zp大文件解压、合并、复制、删除(30万文件大约2个小时)

    考虑到文件很多,日志解压、移动文件每解压、移动1000个记录一次,合并、删除文件每合并、删除50000个记录一次, 3. 启动任务前需配置文件解压合并的路径,本程序需配置的路径如下: 1). PROVINCE_DIR:原始文件存放...

    有序链表合并算法动态演示系统的毕业设计文档及系统 JAVA

    在“有序链表合并算法动态演示系统”中,可能包括以下几个关键知识点: 1. 链表:链表是一种线性数据结构,其中元素并不在内存中连续存储。每个元素(节点)包含数据和指向下一个节点的引用。有序链表是指链表中的...

    java 小程序 合并excel(2010版)

    看到几个内部类 和构造函数里面放监听。我就用JFileChooser可以选择多个文件 嗯 good 就靠这个组件了。 然后 就是 poi api的使用 结果和以前差别很大,在网上google一下,和之前的用法区别蛮大的, 最后打包,找...

    Javacv处理视频,提取成帧图片,生成gif

    - 通常,处理视频并生成 GIF 的代码会包括以下几个步骤: - 初始化 `VideoCapture` 对象读取视频。 - 使用循环读取每一帧,将其保存为图片。 - 使用 FFmpeg 或其他工具将图片序列合并成 GIF。 - 清理资源,关闭...

    多个wav文件合并成一个文件

    单纯用vb实现的wav文件合并,两个文件要有相同的码率,采样位数,声道等等,总之就是两个正常大小的文件合并是可以的,只要两...这个纯vb6实现,像一般的几十兆的wav文件合并,还是很快的,目前支持最新格式工厂转换的Wav文件.

    多个jar包合并成一个jar包的办法

    在软件开发过程中,经常需要将多个JAR包合并成一个JAR包,以方便管理和部署。本文将详细介绍如何实现这一过程,并提供具体的操作步骤和技术细节。 ### 一、概述 在Java开发中,项目通常会依赖多个外部库或模块,...

Global site tag (gtag.js) - Google Analytics