下面这个例子介绍如何把3张图片合在一张图片里,用的是java自己的类实现的:
public class Test { public static void main(String[] args){ try { Test.main("E:/write.jpg","E:/z1.jpg","E:/z2.jpg","E:/z3.jpg","E:/z4.jpg") ; //第一张图是白色背景,中间三张是要合成的,最后一个是最后合成的照片名称 } catch (Exception e) { e.printStackTrace(); } } public static void main(String from1,String from2,String from3,String from4,String toPaht) { try { /* BufferedImage的setRGB参数(startX,startY,w,h,rgbArray,offset,scansize) startX, startY 是要提取的区域左上角图像的坐标 w, h 是要提取的区域的宽度和高度 rgbArray 是接收像素值的整数数组 offset 是数组中接收第一个像素值的位置的索引。 scansize 是图像中相邻两行中具有相同行索引的像素的索引偏移值。 */ // 读取第一张图片 /*下面写的是直接读取硬盘上的文件,如果要读取http://img03.taobaocdn.com/a.jpg这种的话,那么要用如下方法 URL url = new URL(imagePath); BufferedImage ImageOne = ImageIO.read(url); */ File fileOne = new File(from1); BufferedImage ImageOne = ImageIO.read(fileOne); int width1 = ImageOne.getWidth();// 图片宽度 int height1 = ImageOne.getHeight();// 图片高度 // 从图片中读取RGB int[] ImageArrayOne = new int[width1 * height1]; ImageArrayOne = ImageOne.getRGB(0, 0, width1, height1, ImageArrayOne, 0, width1); // 对第二张图片做相同的处理 File fileTwo = new File(from2); BufferedImage ImageTwo = ImageIO.read(fileTwo); int width2 = ImageTwo.getWidth();// 图片宽度 int height2 = ImageTwo.getHeight();// 图片高度 int[] ImageArrayTwo = new int[width2 * height2]; ImageArrayTwo = ImageTwo.getRGB(0, 0, width2,height2, ImageArrayTwo, 0, width2); // 对第三张图片做相同的处理 File fileThree = new File(from3); BufferedImage ImageThree = ImageIO.read(fileThree); int width3 = ImageThree.getWidth();// 图片宽度 int height3 = ImageThree.getHeight();// 图片高度 int[] ImageArrayThree = new int[width3 * height3]; ImageArrayThree = ImageThree.getRGB(0, 0, width3,height3, ImageArrayThree, 0, width3); // 对第四张图片做相同的处理 File fileFour = new File(from4); BufferedImage ImageFour = ImageIO.read(fileFour); /** * 因为第四张图片很大,要压缩一下,所以要重新在缓冲中生成一张压缩后的图,然后赋值给原图,这里是压缩到200*200的 */ BufferedImage newImage = new BufferedImage(200,200,ImageFour.getType()); Graphics g = newImage.getGraphics(); g.drawImage(ImageFour, 0,0,200,200,null); g.dispose(); ImageFour = newImage; int width4 = ImageFour.getWidth();// 图片宽度 int height4 = ImageFour.getHeight();// 图片高度 int[] ImageArrayFour = new int[width4 * height4]; ImageArrayFour = ImageFour.getRGB(0, 0, width4,height4, ImageArrayFour, 0, width4); // 生成新图片 BufferedImage ImageNew = new BufferedImage(560, 560, BufferedImage.TYPE_INT_RGB); ImageNew.setRGB(0, 0, width1, height1, ImageArrayOne, 0, width1);// 设置第一张图的RGB,这里是一张白色的背景图 ImageNew.setRGB(50, 70, width2, height2, ImageArrayTwo, 0, width2);// 设置第二张图的RGB ImageNew.setRGB(50, 280, width3, height3, ImageArrayThree, 0, width3);// 设置第三张图的RGB ImageNew.setRGB(300, 300, width4, height4, ImageArrayFour, 0, width4);// 设置第四张图的RGB File outFile = new File(toPaht); ImageIO.write(ImageNew,"jpg", outFile);// 写图片 } catch (Exception e) { e.printStackTrace(); } } }
相关推荐
在Java编程语言中,"Java合成照片"是一个关于图像处理的技术,主要涉及到图像的合并、叠加、裁剪、旋转等操作。这个技术广泛应用于各种场景,如社交媒体应用、图形设计工具、数据分析可视化等。下面我们将深入探讨...
本篇文章将深入探讨如何使用Java实现“多张图片合成”、“图片拼接”以及“图片上写字”的功能。我们将主要围绕提供的`ImgUtil.java`文件进行讲解。 1. **图片合成**: 图片合成是指将多张图片组合成一张新的图片...
在Java编程语言中,将多张图片合成一张图片是一项常见的图像处理任务,广泛应用于各种应用场景,如社交媒体拼图、报告生成、数据可视化等。要实现这个功能,我们需要使用到Java的图像处理库,如Java AWT(Abstract ...
在Java编程环境中,将一系列图片合并成视频是一个常见的多媒体处理任务。这个项目文件提供了一种实现方式,让我们来深入探讨一下这个过程中的关键知识点。 首先,我们要了解的是Java中的多媒体处理库。在这个项目中...
Java将多张图片合成为一张,类似于PhotoShop中的合成图片,将两张图片合成输出为一张JPG,两幅图像叠加在一起,这是个比较基础的Java图像合成的例子。在JAVA中实现图片合成,本例的实现核心代码如下: InputStream...
Java 合成 GIF 是一种利用编程技术将多张静态图片(如JPG)组合成一个动态GIF图像的过程。在Java中,这个过程涉及到多个关键概念和技术,包括图像处理、编码算法以及文件格式理解。以下是对这些知识点的详细说明: ...
通过java实现对图片的进行合成处理,合成过程可制定位置,主要场景例如生成工作证或者胸牌
java实现图片合成的合成。可以使两张或多张图片合成起来,并且不失真
本项目的核心目标是通过JavaCV将指定目录下的JPG图片序列合成成一个视频文件。 首先,我们需要了解JavaCV的基本用法。JavaCV提供了一个Java接口,可以直接调用OpenCV和FFmpeg的函数。在Android中,我们通常需要添加...
在Java编程环境中,将图片列表合并转换为PDF文档是一项常见的任务,特别是在报告生成、文档整理或数据可视化等场景。这个示例将详细讲解如何通过Java实现这一功能,包括必要的库引用、代码实现以及可能遇到的问题。 ...
在Java编程环境中,实现视频、音频和图片的合成功能是一项技术挑战,涉及到多媒体处理、图像操作和文件I/O等多个领域。本项目提供了一个完整的解决方案,包括安装文件和详细的Java源代码,允许开发者进行二次开发和...
java ffmpeg实现视屏剪辑、srt字幕嵌入、视频合成、图片转视频 通过test类运行。demo基于jave的源码。对ffmpeg的两种系统下的执行文件进行了替换。所以ffmpeg版本是最新的。可以执行ffmpeg官网上大多数的命令
选择图片,拼接图片,Java拼接多张图片,连接在一起 代码程序。
在Java编程语言中,将两张图片合成在一起是一个常见的图像处理任务。这个过程涉及到对图像文件的读取、处理以及合并,通常使用Java的内置库如`java.io`和`javax.imageio`。在这个场景中,`FileInputStream`用于读取...
Java合成图片
综上所述,这个资源包提供了基于Java的二维码生成、图片合成和文字添加的实例,对于开发者来说,这是一个学习和实践相关技能的好材料。你可以通过阅读和理解`ZxingUtils.java`中的代码,以及参考提供的链接教程,来...
根据给定文件的信息,本文将围绕Java操作图片的方法展开,主要涵盖往图片上添加文字以及合并多张图片的功能。这些技术在制作许可证书、安全证书等应用场景中非常实用。 ### Java操作图片概述 #### 一、加载图片 在...
总结,将大量图片合成到一个PDF文件,使用Java和PDFBox库是一个高效且灵活的方法。通过理解这些基本操作,你可以根据具体需求进行定制,创建出满足各种场景的PDF文档。在处理大批量图片时,可能还需要考虑性能优化,...
个人亲测,好用,可以用几张图拼成一张图,我用一个模板图片上面添加了微信头像,一个二维码还有一个昵称,好用,希望能帮到你们。
在Java编程环境中,将多张JPEG格式的图片转换为动态GIF格式是一项常见的图像处理任务。这个Demo展示了如何使用Java的图像处理库来完成这一过程。以下是对这个过程的详细解释: 首先,我们需要一个能够处理GIF格式的...