返回列表 发新帖

[求助问答] 有什么工具可以批量增加JPG

[复制链接]

29

主题

979

回帖

2302

积分

大学生

Rank: 5Rank: 5

金币
142
好评
0
信誉
100
发表在  2025-9-29 12:07:52 来自手机  | 显示全部楼层 | 阅读模式  来自 福建
本帖最后由 芦荟 于 2025-9-29 12:20 编辑

见多识广的大佬们
有什么工具或者方法,
可以批量在每二个JPG图片中,
(比如共1200个JPG中)
增加(插入)第三个JPG图片。
最后共1800个JPG。
回复

使用道具 举报

65

主题

3824

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
2355
好评
12
信誉
100

MT论坛最佳新人考神MT论坛帅哥MT论坛新人MT论坛活跃会员

发表于 2025-9-29 12:39:07 来自手机  | 显示全部楼层  来自 贵州
叫AI给你写一个工具不就可以了,现在都是AI时代了
回复

使用道具 举报

69

主题

2250

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
2741
好评
21
信誉
100

考神MT论坛最佳新人MT论坛帅哥MT论坛活跃会员

发表于 2025-9-29 13:41:25 来自手机  | 显示全部楼层  来自 湖北
让AI改写,我才写的一个网站,按id顺序1-N,合成pdf,可以的话让AI改改就可以用
http://ser2282107414.dnsdun.shop/pdf1231.html
回复

使用道具 举报

29

主题

979

回帖

2302

积分

大学生

Rank: 5Rank: 5

金币
142
好评
0
信誉
100
发表于 2025-9-30 03:48:07 来自手机  | 显示全部楼层  来自 福建
谢谢,我试试AI看看
回复

使用道具 举报

29

主题

979

回帖

2302

积分

大学生

Rank: 5Rank: 5

金币
142
好评
0
信誉
100
发表于 2025-9-30 15:49:15 来自手机  | 显示全部楼层  来自 福建
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageOutputStream;
import java.awt.image.BufferedImage;
import java.io.*;
import java.nio.file.*;
import java.util.*;
import java.util.stream.Collectors;

/**
* 在每 2 张原图之间插入一张指定图片
* 用法: java InsertEvery2  <原图目录> <插入图路径> <输出目录>
*/
public class InsertEvery2 {

    public static void main(String[] args) throws Exception {
        if (args.length != 3) {
            System.err.println("用法: java InsertEvery2 <原图目录> <插入图路径> <输出目录>");
            System.exit(1);
        }
        Path srcDir   = Paths.get(args[0]);
        Path insert   = Paths.get(args[1]);
        Path outDir   = Paths.get(args[2]);

        if (!Files.isDirectory(srcDir))  throw new IllegalArgumentException("原图目录不存在");
        if (!Files.isRegularFile(insert))throw new IllegalArgumentException("插入图文件不存在");
        Files.createDirectories(outDir);

        // 1. 列出所有 jpg/JPG,按文件名排序
        List<Path> srcImgs = Files.list(srcDir)
                                  .filter(p -> p.getFileName().toString()
                                                .matches("(?i).+\\.jpe?g$"))
                                  .sorted(Comparator.comparing(p -> p.getFileName().toString()))
                                  .collect(Collectors.toList());
        if (srcImgs.isEmpty()) {
            System.out.println("原图目录下无 JPG 文件,程序结束");
            return;
        }

        // 2. 读入插入图(只读一次)
        BufferedImage insertImg = ImageIO.read(insert.toFile());

        // 3. 处理并写出
        int index = 0;          // 新文件序号,从 0 开始
        for (int i = 0; i < srcImgs.size(); i++) {
            // 先写原图
            Path src = srcImgs.get(i);
            BufferedImage bi = ImageIO.read(src.toFile());
            writeJpg(bi, outDir.resolve(String.format("%04d.jpg", index++)));

            // 每 2 张原图之后写一次插入图
            if ((i + 1) % 2 == 0) {
                writeJpg(insertImg, outDir.resolve(String.format("%04d.jpg", index++)));
            }
        }
        System.out.println("处理完成,共生成 " + index + " 张图片到 " + outDir.toAbsolutePath());
    }

    /** 用 JDK 自带 ImageIO 写 JPG,质量 0.95 */
    private static void writeJpg(BufferedImage img, Path target) throws IOException {
        try (ImageOutputStream ios = ImageIO.createImageOutputStream(target.toFile())) {
            ImageWriter writer = ImageIO.getImageWritersByFormatName("jpg").next();
            writer.setOutput(ios);
            writer.write(null, new IIOImage(img, null, null), writer.getDefaultWriteParam());
            writer.dispose();
        }
    }
}
回复

使用道具 举报

29

主题

979

回帖

2302

积分

大学生

Rank: 5Rank: 5

金币
142
好评
0
信誉
100
发表于 2025-9-30 15:50:02 来自手机  | 显示全部楼层  来自 福建
生成apk无使用。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表