5

我正在尝试在 GIMP 中编写一个脚本,该脚本将加载一个 PNG 文件并以最大压缩率再次保存(我还计划添加其他处理步骤)。但是,以下脚本似乎破坏了 alpha 信息:

(define (process-png pattern)
  (let* (
      (filelist (cadr (file-glob pattern 1)))
    )
    (while (not (null? filelist))
      (begin
        (catch ()
          (let* (
              (filename (car filelist))
              (image (car (file-png-load RUN-NONINTERACTIVE filename filename)))
            )
            (begin
              (file-png-save2 RUN-NONINTERACTIVE
                  image (car (gimp-image-get-active-drawable image))
                  filename filename
                  0 9 0 0 0 0 0 0 0)
              (gimp-image-delete image)
            )
          )
        )
        (set! filelist (cdr filelist))
      )
    )
  )
)

例如,JQuery 图标中的半透明像素似乎都变得完全透明,从而使所有内容都出现了别名。

如何解决这个问题?

4

1 回答 1

3

的文档file-png-save2说,Preserve color of transparent pixels?在您的情况下,最后一个参数设置为 0。尝试将其设置为 1,它应该可以正常工作。

于 2013-04-26T11:20:17.277 回答