下面这个例子介绍如何把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将多张图片合成为一张,类似于PhotoShop中的合成图片,将两张图片合成输出为一张JPG,两幅图像叠加在一起,这是个比较基础的Java图像合成的例子。在JAVA中实现图片合成,本例的实现核心代码如下: InputStream...
图片工具类(多张图片合成,图片拼接,图片上写字),java语言实现
Java合成图片
Java将图片合并为视频的项目文件 下载依赖包是会比较慢,请在网络好的环境下载 依赖包下载好后,直接编译即可运行
通过java实现对图片的进行合成处理,合成过程可制定位置,主要场景例如生成工作证或者胸牌
用java代码来将JPG等格式合成gif 网上搜集的,分享给大家 用java代码来将JPG等格式合成gif 网上搜集的,分享给大家
可使用其生成图片合成,方便调用,代码更简洁你们懂得
java实现图片合成的合成。可以使两张或多张图片合成起来,并且不失真
Java 将图片列表转换合并为pdf完整示例,含代码、示例图片、依赖包
利用javacv将指定的图片合成视频,先输入一个目录(文件夹名称),点击开始后过一段时间视频合成完毕后程序会自动退出,然后去输入的文件夹下寻找视频
java ffmpeg实现视屏剪辑、srt字幕嵌入、视频合成、图片转视频 通过test类运行。demo基于jave的源码。对ffmpeg的两种系统下的执行文件进行了替换。所以ffmpeg版本是最新的。可以执行ffmpeg官网上大多数的命令
选择图片,拼接图片,Java拼接多张图片,连接在一起 代码程序。
Java实现视频 音频 图片的合成功能,导出有安装文件,并包括有完整的Java源代码文件,使用方法见帮助。源代码开源,欢迎二次修改。安装程序运行界面请参阅运行截图。附有Java部分的源代码。
个人亲测,好用,可以用几张图拼成一张图,我用一个模板图片上面添加了微信头像,一个二维码还有一个昵称,好用,希望能帮到你们。
java结合imageMagick实现图片渲染合成编辑,源码附送安装文件学习文档。
使用详情见博客:https://blog.csdn.net/weixin_38500202/article/details/110087106
java写的读取2个tiff文件或图片,合并成一个图片 可以修改图片所在位置
java——图片字体显示方块问题处理 /usr/java/jdk1.7.0_80/jre/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf /usr/java/jdk1.7.0_80/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf
最近看到一个需求,将一些jpg文件合到一起变成pdf文件,就去网上找资料,通过java代码实现了它。可以将大量图片合成到一个pdf文件中