如何通过Script-Fu或Python-Fu修改GIMP图像打印尺寸
GIMP 2.10.x 设置指定打印尺寸的脚本实现
Python-Fu 方案
GIMP 提供的 Python 接口可直接调用 gimp_image_set_print_size 方法完成打印尺寸设置,注意该方法的宽高参数单位为英寸,需要先将毫米单位做转换:1英寸=25.4毫米。
示例代码如下:
from gimpfu import * def set_21x30mm_print_size(target_image): # 单位转换:毫米转英寸 print_width_in = 21 / 25.4 print_height_in = 30 / 25.4 # 写入打印尺寸配置 pdb.gimp_image_set_print_size(target_image, print_width_in, print_height_in) # 调用示例1:处理当前处于激活状态的第一张图像 # set_21x30mm_print_size(gimp.image_list()[0]) # 调用示例2:批量处理所有已打开的图像 # for image in gimp.image_list(): # set_21x30mm_print_size(image)
使用方式:将代码复制到 GIMP 的 Python 控制台直接运行,或者保存为 .py 后缀的文件放入 GIMP 插件目录,重启后可从菜单触发运行。
Script-Fu(Scheme)方案
如果你习惯使用 Script-Fu,可使用以下代码实现相同效果:
(define (set-21x30mm-print-size target-image) (let* ( (width-mm 21) (height-mm 30) (width-in (/ width-mm 25.4)) (height-in (/ height-mm 25.4)) ) (gimp-image-set-print-size target-image width-in height-in) ) ) ; 调用示例:处理当前打开的第一张图像 ; (set-21x30mm-print-size (car (gimp-image-list)))
使用方式:保存为 .scm 后缀的文件放入 GIMP 脚本目录,重启 GIMP 后即可调用,也可直接在 Script-Fu 控制台执行代码。
注意:该操作仅修改图像的打印元数据,不会改动图像本身的像素分辨率,和手动通过
Menu -> Image -> Print Size路径修改的效果完全一致。
内容的提问来源于stack exchange,提问作者noirhor
相关产品推荐
相关产品推荐

