ImageMagick 无法删除 pdf 到 png 转换中的 alpha,但仅在某些页面上

ImageMagick fails to remove alpha in pdf to png conversion but only on some pages

我正在尝试将 pdf 转换为每页 png 文件并删除第 4 个 alpha 通道。 ImageMagick 的行为很奇怪,因为它正确地删除了除一页以外的所有页面的 alpha。我的命令有错误吗?

这是 pdf:http://papers.nips.cc/paper/3723-anomaly-detection-with-score-functions-based-on-nearest-neighbor-graphs.pdf

我正在执行的命令:

convert -units PixelsPerInch -density 300 -alpha remove nips09_4.pdf nips09_4.png

结果:

$ identify -verbose nips09_4-2.png
Format: PNG (Portable Network Graphics)
  Mime type: image/png
  Class: DirectClass
  Geometry: 2480x3508+0+0
  Resolution: 118.11x118.11
  Print size: 20.9974x29.7011
  Units: PixelsPerCentimeter
  Type: TrueColorAlpha
  Endianess: Undefined
  Colorspace: sRGB
  Depth: 16-bit
  Channel depth:
    red: 16-bit
    green: 16-bit
    blue: 16-bit
    alpha: 1-bit


$ identify -verbose nips09_4-1.png 
Format: PNG (Portable Network Graphics)
  Mime type: image/png
  Class: DirectClass
  Geometry: 2480x3508+0+0
  Resolution: 118.11x118.11
  Print size: 20.9974x29.7011
  Units: PixelsPerCentimeter
  Type: Palette
  Endianess: Undefined
  Colorspace: sRGB
  Depth: 16-bit
  Channel depth:
    red: 16-bit
    green: 16-bit
    blue: 16-bit

重现:

cd ~/Downloads
wget http://papers.nips.cc/paper/3723-anomaly-detection-with-score-functions-based-on-nearest-neighbor-graphs.pdf
mv 3723-anomaly-detection-with-score-functions-based-on-nearest-neighbor-graphs.pdf nips09_4.pdf
convert -units PixelsPerInch -density 300 -alpha remove nips09_4.pdf nips09_4.png

加载 PDF 后尝试使用 -alpha off,看看是否有帮助。像这样:

convert -density 300 some.pdf -alpha off nips%03d.png

我相信 -alpha remove 会删除 alpha 通道的 效果 但实际上它仍然存在,但不透明,在图像中并且会转移到您的PNG 张图片。

相比之下,alpha off 实际上完全删除了频道,因此它不会出现在 PNG 图像中。