我在 Debian 12 系统上使用 gimp 2.10。
我需要使用 gimp,因为在使用 gimp 图形界面进行一些手册测试后,我注意到调整大小/转换后的图像的质量比使用 imagemagik 或 inkscape 更好。
我的 gimp 脚本成功将 SVG 转换为 PNG,但没有调整其大小。
这是我的脚本:
(define (convertresize in_filename out_filename width height)
(let* (
(image (car (gimp-file-load RUN-NONINTERACTIVE in_filename "")))
(drawable (car (gimp-image-get-active-layer image)))
(gimp-image-scale-full image width height INTERPOLATION-CUBIC)
(gimp-layer-resize-to-image-size drawable)
)
(gimp-file-save RUN-NONINTERACTIVE image drawable out_filename out_filename)
(gimp-image-delete image)
)
)
脚本位于
~/.config/GIMP/2.10/scripts
文件夹中。我使用以下命令启动它:
gimp -i -b '(convertresize "./image.svg" "./image.png" 24 24)' -b '(gimp-quit 0)'
所以,我想知道为什么我的脚本不调整图像大小。
对图像进行的转换必须在加载图像的部分之外完成。
这是正确的代码:
(define (convertresize in_filename out_filename width height)
(let* (
(image (car (gimp-file-load RUN-NONINTERACTIVE in_filename "")))
(drawable (car (gimp-image-get-active-layer image)))
)
(gimp-image-undo-disable image)
(gimp-image-scale-full image width height INTERPOLATION-CUBIC)
(gimp-layer-resize-to-image-size drawable)
(gimp-file-save RUN-NONINTERACTIVE image drawable out_filename out_filename)
(gimp-image-delete image)
)
)