功能关键词:批量为图片添加文本、上下文本栏、TXT文本列表、字体效果、格式输出。
工具概述
批量在图片上下添加文本工具可以在图片顶部或底部扩展背景区域,并在该新区域中写入文本,适合为一组图片添加说明、标题或短文本。扩展画布高度,原图片的宽度不变。
页面中有通用多行文本、TXT列表、字体与颜色、描边与阴影、位置与对齐、背景栏大小、输出格式、并行线程的设置。源代码中的正式名称是“批量在图片上下添加文本工具”,窗口标题显示为“图片批量添加文本工具”。
工具截图

主要功能
- 在图片上方或下方添加独立的背景栏,背景栏高度按原图片宽度的1%至100%计算。
- 可以为所有图片添加通用的多行文本,也可以从UTF-8的TXT文件中逐行读取文本并循环分配。
- 选择TTF、OTF或TTC字体,设置字号、字体颜色、粗体、斜体、下划线。
- 可以设置描边的宽度与颜色,并启用可调整X和Y偏移以及颜色的阴影。
- 提供左对齐、居中对齐、右对齐和背景色,文本在添加的栏内垂直居中。
- 支持保留原扩展名,或统一输出为JPG、PNG、WebP、BMP、TIFF,并显示成功数量、失败数量及日志。
使用前的准备
图片选择界面列出了JPG、JPEG、PNG、BMP、GIF、WebP、TIFF、TIF,扫描目录时也通过这些扩展名识别文件。当前处理逻辑仅读取当前图片,没有保留GIF动画或多页TIFF文件的选项。
准备一个已有的保存文件夹。字体选择是可选的,留空时会自动查找系统的中文字体。
通用文本直接输入“文本”框,可以手动换行;使用列表时,准备以UTF-8编码的TXT文件,每个非空行填写一项。教程截图中的所有素材、文本和文件路径均保持为空。
详细操作步骤
1. 选择图片来源、保存位置和目录范围
在“路径设置”中点击“源文件/文件夹”右侧的“浏览”,菜单中会显示“选择文件”、“选择多个文件”、“选择文件夹”。实际使用时根据来源选择;通过“浏览”选择多个文件后,输入框中会显示所选数量。
接着点击“保存目录”右侧的“浏览”,选择一个已有目录。需要保留子目录层级时,先勾选“遍历子目录”,再勾选已启用的“保留原路径结构”;取消勾选遍历时,也会取消勾选保留结构。
请注意当前的目录收集逻辑:即使未勾选遍历,也会包含源目录及其直接下级子文件夹,只有勾选后才会递归遍历所有层级。保留结构时,使用为每张图片记录的相对路径写入文件;多个源根目录分别计算,不会自动添加根文件夹名称。
建议使用“浏览”明确选择来源和输出。直接拖入路径输入框时只接受第一项;拖入整个窗口与拖入输入框的行为不同,当窗口接收到单个文件夹且输出为空时,会先填入保存目录。选择多个文件后,需要通过“浏览”重新选择来源以更新内部文件列表。

2. 输入通用文本或加载按行划分的文本列表
所有图片使用相同文本时,不勾选“列表”,在“文本”编辑框中输入文本;按Enter键手动插入换行。此工具不会根据图片宽度自动换行文本,长句需要手动换行或使用较小字号。
需要不同文本时,勾选“列表”,点击其右侧的“选择”加载TXT文件。列表路径为只读,无法直接输入路径框;加载后,日志中会显示已加载的项目数。
加载列表时,会删除首尾空白并忽略空行,按图片收集顺序分配各行,列表用完后返回第一行循环。不会按图片文件名匹配文本,也没有可指定排序的列表界面。
实际开始时,通用文本不能为空;勾选“列表”时,必须已加载至少一个有效文本项。此图片仅展示输入控件,尚未输入文本,也未加载文件。

3. 设置字体、颜色、字号、描边和阴影
点击“字体”行的“选择”,选择TTF、OTF或TTC文件;默认的空路径会尝试使用系统中文字体。点击“颜色”后面的黑色色块选择文本颜色,“大小”是实际绘制字号,范围为8至500,默认为40。
“粗体”、“斜体”、“下划线”分别用于粗体、斜体、下划线,可按需勾选。粗体通过重复偏移绘制实现;斜体通过倾斜文本图层实现,无需选择单独的斜体字体文件。
需要描边时,勾选“描边”,再设置“宽度”和色块:宽度为0至10,默认为0,因此只勾选而不增加宽度不会显示描边。描边的默认颜色为白色。
需要阴影时,勾选“阴影”,X和Y分别可设置为-20至20,默认为2;X正值向右,Y正值向下,默认颜色为灰色。可以通过色块打开颜色选择窗口;这些设置不会自动为文本添加足够的留白,文本过宽或文本栏过窄时需要重新布局。

4. 确定顶部或底部位置、对齐方式和背景栏高度
在“位置”中选择“顶部”或“底部”,本次运行中对同一张图片只能选择这两个位置中的一个,默认为顶部;此操作是在原图片外侧添加条状区域,并非直接在原图片上叠加文本。
“对齐”中有左对齐、居中对齐、右对齐,默认为居中对齐。左对齐和右对齐分别距画布边缘约10像素;多行文本的每一行分别对齐,行距固定为5像素。
“大小”滑块的范围为1%至100%,默认为10%,用于控制添加的栏的高度:栏高度为原图片宽度乘以比例并转换为整数后的值,最小为1像素,输出总高度为原高度加上栏高度。这既不是图片缩放比例,也不是字号比例。
点击“背景”后面的白色色块,选择文本栏的背景色。整个文本按栏高度垂直居中,并不会自动适应高度;多行文本或较大字号需要搭配更高的文本栏,以免超出新区域。

5. 设置输出格式、质量和并行线程
展开参数区域最下行的“格式”。ORIGINAL表示使用来源的扩展名;也可以统一选择JPG、PNG、WebP、BMP或TIFF。较窄的下拉框中默认文本可能显示不全,选项的完整名称是ORIGINAL。
“质量”的范围为1至100,默认为95%。在JPG和WebP中用于编码质量;在PNG中对应压缩级别,这不会使PNG变为有损压缩。BMP和TIFF不使用此质量值,不保证该值在不同格式之间具有相同含义。
线程数范围为1至16,默认为4,表示同时处理的图片数量。高分辨率图片会增加内存占用,可以根据机器情况减少并行数;页面没有任务预览或实时效果预览。
JPG输出会转换为RGB,无法保留Alpha通道;其他格式能否写入当前图片模式取决于编码器。目前仅展开了格式菜单,尚未选择图片、保存结果或执行格式转换。

6. 实际使用前确认后再开始,并通过进度日志确认状态
实际使用时,确认来源、有效的保存文件夹、文本来源和所有参数后,点击“开始处理”。开始后该按钮会被禁用,“停止”会启用,下方会显示处理百分比、成功数量及失败数量。
需要中断时,点击“停止”。程序会尝试取消尚未运行的任务,但已在运行的图片任务可能继续写入输出;已完成的图片不会还原,停止后显示的统计也可能未计入所有运行中的任务。
完成后,页面会显示概况和完成弹窗。进度被设为100%或状态为“完成”,并不意味着所有图片均成功,需要结合失败数量和日志判断。日志最多保留500个文本块,没有用于导出日志或打开输出目录的专用按钮。
本次简易制作仅展示实际界面,未添加、创建、上传测试素材或输入测试文本,也未点击“开始”或“保存”,未生成业务结果。

主要参数说明
| 参数 | 功能 | 建议 |
|---|---|---|
| 文本 / 列表 | 通用多行文本,或循环分配非空TXT行。 | 列表按收集顺序分配,无法按文件名匹配。 |
| 字号与样式 | 8~500,默认为40;粗体、斜体、下划线为可选项。 | 文本不会自动缩小或换行,长句需要手动换行。 |
| 描边 / 阴影 | 描边为0~10,默认为0;阴影X/Y为-20~20,默认为2。 | 需要勾选描边,并使其宽度大于0。 |
| 位置 / 对齐 | 顶部或底部;左对齐、居中对齐、右对齐,默认为顶部居中。 | 同一次运行中,只能在一侧添加文本栏。 |
| 大小 / 背景 | 栏高度为原图片宽度的1%~100%,默认为10%。 | 根据字号和多行总高度进行布局。 |
| 格式 / 质量 | 原扩展名或5种格式;质量为1~100,默认为95。 | 在JPG/WebP中为质量,在PNG中为压缩强度,BMP/TIFF不使用此值。 |
| 线程 / 目录 | 1~16,默认为4;启用遍历后可以保留相对结构。 | 为避免来源与输出重叠,使用另一个已有的输出目录。 |
结果与保存
输出时保留图片的基本名称,并根据所选格式保留或更改扩展名;如果已存在同名文件,则尝试附加(1)、(2)等。路径在提交并行任务前预先计算,但不会被独占预留,同一批次内多个同名来源仍可能指向同一输出位置,因此建议分批处理或保留可区分的目录。
保留结构时会创建相对子目录,输出根目录仍需事先存在。添加的背景栏会增加图片高度,图片宽度不变;没有裁剪或缩放原图片、单独导出文本图层的按钮。
程序在输出JPEG/JPG/TIFF时,会尝试写入已读取的EXIF数据,但不会另行统一更新其中的尺寸和方向字段,也没有保留动画、多页或所有元数据的完整处理。
实际完成后,前往所选保存目录检查文件,并使用日志评估失败项。此处未生成、展示或验证完成的输出;网站正文中的图片路径是/images/articles/的文件名,发布时仍需上传相应的教程图片。
常见问题与使用建议
1. 为什么“保留原路径结构”显示为灰色?
先勾选“遍历子目录”启用此选项;取消勾选遍历后,也会自动取消勾选保留结构。
2. 不勾选遍历时,是否只处理根目录?
在当前源代码中,仍会收集根目录及其直接下级子目录,勾选后会递归遍历所有层级。
3. 大小10%是否表示将字号增大10%?
不是,它表示添加的文本栏高度为原图片宽度的10%,字号由“大小”控制。
4. 可以同时在图片上方和下方添加文本吗?
位置由顶部和底部两个互斥选项组成,本次运行中只处理一侧。
5. 列表项目数少于图片数量时会怎样?
非空行会循环使用,最后一项之后会从第一项重新开始分配。
6. 勾选“列表”后,还会使用大文本框吗?
实际处理时优先使用已加载的列表;在没有有效列表的情况下勾选,会提示先加载列表。
7. 为什么勾选“描边”后看不到效果?
默认宽度为0,勾选“描边”后,需要设置大于0的宽度,并选择合适的颜色。
8. 长文本会自动换行吗?
不会,通用文本可以手动换行;还需要调整字号和文本栏高度。
9. ORIGINAL会不更改文件而进行复制吗?
只是使用扩展名,图片仍会添加文本并重新保存,不是原文件的逐字节复制。
10. 停止后,已写入的图片会还原吗?
不会。运行中的任务也可能继续写入输出,需要结合日志和保存目录进行检查。




