Java 合并任数量的图片成一张图片
/*** 合并任数量的图片成一张图片** @param isHorizontal true代表水平合并,fasle代表垂直合并* @param image 待合并的图片数组* @return*/public static BufferedImage mergeImage(boolean isHorizontal, List<BufferedImage> image) throws IOException {// 生成新图片BufferedImage destImage;// 计算新图片的长和高int allw = 0, allh = 0, allwMax = 0, allhMax = 0;// 获取总长、总宽、最长、最宽for (int i = 0; i < image.size(); i++) {BufferedImage img = image.get(i);allw += img.getWidth();if (image.size() != i + 1) {allh += img.getHeight() + 5;} else {allh += img.getHeight();}if (img.getWidth() > allwMax) {allwMax = img.getWidth();}if (img.getHeight() > allhMax) {allhMax = img.getHeight();}}// 创建新图片if (isHorizontal) {destImage = new BufferedImage(allw, allhMax, BufferedImage.TYPE_INT_RGB);} else {destImage = new BufferedImage(allwMax, allh, BufferedImage.TYPE_INT_RGB);}Graphics2D g2 = (Graphics2D) destImage.getGraphics();g2.setBackground(Color.LIGHT_GRAY);g2.clearRect(0, 0, allw, allh);g2.setPaint(Color.RED);// 合并所有子图片到新图片int wx = 0, wy = 0;for (int i = 0; i < image.size(); i++) {BufferedImage img = image.get(i);int w1 = img.getWidth();int h1 = img.getHeight();// 从图片中读取RGBint[] ImageArrayOne = new int[w1 * h1];ImageArrayOne = img.getRGB(0, 0, w1, h1, ImageArrayOne, 0, w1); // 逐行扫描图像中各个像素的RGB到数组中if (isHorizontal) { // 水平方向合并destImage.setRGB(wx, 0, w1, h1, ImageArrayOne, 0, w1); // 设置上半部分或左半部分的RGB} else { // 垂直方向合并destImage.setRGB(0, wy, w1, h1, ImageArrayOne, 0, w1); // 设置上半部分或左半部分的RGB}wx += w1;wy += h1 + 5;}g2.dispose();return destImage;}
Java 合并任数量的图片成一张图片相关推荐
- 练习 | 01 | 把多张图片合并成一张图片
1 实现方式 1.1 第一种方案 import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.F ...
- OpenCV将两图片进行混合,达到两张图片合并成一张图片的效果
1.概述 案例:将两张图片混合成一张图片,并且原图的元素要保留到同一张图片中. 2.示例图片 2.1.混合后的图片 2.2.原始的两张图片 3.示例代码 //将两张图片进行混合 #include &l ...
- Java 批量导出PPT为图片,并合并生成PDF
Java 批量导出PPT为图片,并合并生成PDF 最近有小伙伴需要把PPT打印,但苦于PPT太多,浪费纸张,所以特别写了这个合并多张PPT到一张A4纸上并生成PDF方便打印的程序: 前期准备 把PPT ...
- Windows10 把两张图片合并成一张图片
Windows10把两张图片合并成一张图片 文章目录 Windows10把两张图片合并成一张图片 1. 背景 2. "画图"实现多图拼接 1. 背景 相比截图功能,在 Google ...
- 在电脑上图片过长,但是要截成一张图片,解决方案
在电脑上图片过长,但是要截成一张图片,应该怎么解决 - 正如这张图片,我们很难截成长的,但是我们把图片横着不久行了嘛 transform:rotate(90deg); height:205% marg ...
- 如何使用GridView实现不同数量显示图片不同的大小
有时我们需要在空间看到说说发布一张图片变得很大,多发几张图片就变小了,为了实现这个效果我们就需要Gridview 和它的Adapter 下面是GridView的代码 activity_grid_tes ...
- 怎样能把两张照片拼成一张图片,5种工具分享
怎样能把两张照片拼成一张图片?图片拼合的应用场景是很多的.比如将几张相册中的照片拼成一张合影.将多个地图截图拼合在一起形成一个更大的区域地图.将多个漫画图像合并成一本漫画册等.这项技术可以方便地将多张 ...
- java 合并和拆分单元格_如何轻松合并和拆分电子书
java 合并和拆分单元格 Whether you want to merge collections of short stories into a DIY anthology, or you wa ...
- 怎样能把两张照片拼成一张图片,1分钟搞定
怎样能把两张照片拼成一张图片?图片拼合的应用场景是很多的.比如将几张相册中的照片拼成一张合影.将多个地图截图拼合在一起形成一个更大的区域地图.将多个漫画图像合并成一本漫画册等.这项技术可以方便地将多张 ...
最新文章
- 【深度学习】深入浅出nnUnet的数据处理方法
- “人肉”背后隐藏的网络风险
- 云漫圈 | 我觉得我的手机被监听了。。。
- Java 并发(JUC 包-02)
- java拓扑圆形布局算法
- eclipse汉化.设置为中文 简单好操作 java初学者看过来
- c语言正确声明的格式,c语言函数声明(c语言函数声明格式)
- postgresql如何优雅地清理磁盘空间碎片VACUUM
- 小心!QQ和MSN聊天记录也会随时被监控
- 置换和轮换(新姿势,摘自黑书)
- 图片马赛克去除工具_黑科技!利用 AI 技术,马赛克终于可以去掉了
- 矩阵可逆的条件以及特征值、特征向量与可对角化条件
- OpenCV之Vec3f
- 7年python程序员总结 - Python学习方法和高手养成
- 新年拍照好伙伴,vivo S12 Pro前后都精彩
- day03.2-寻址方式
- 不使用采集卡,实现相机手机多机位直播
- 清空MySQL单库下所有表数据 || 删除MySQL单库下所有表
- 白盒测试:语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖...
- fx5u以太网通讯设置_图文简述三菱FX 5U以太网通讯的8大功能,你会用几种?