首页 > 解决方案 > 在 Python 中:将 EPS 文件转换为带有 alpha 通道且无抗锯齿的 PNG

问题描述

标题说明了要求,现实咬人。

Imagemagick:结果很好,但它很慢。排除的主要原因是,我们的 Ubuntu 服务器没有适用于 apt-managed 软件包的当前版本 7。

Pillow:可以读取 EPS,但忽略 alpha 通道信息。始终创建白色背景。由于它在内部使用ghostscript来转换.eps,因此尝试直接使用它。

Ghostscript:到目前为止最近。但是无法关闭抗锯齿功能,我们需要将其关闭,因为结果将用于打印。

这是最接近我得到的预期结果:

gs -dSAFER \
  -dBATCH \
  -dNOPAUSE \
  -dNOPROMPT \
  -dMaxBitmap=500000000 \
  -dEPSCrop \
  -dAlignToPixels=0 \
  -dGridFitTT=2 \
  -sDEVICE=pngalpha \
  -sPAPERSIZE=a7 \
  -r"140x140" \
  -dTextAlphaBits=1 \
  -dGraphicsAlphaBits=1 \
  -sOUTPUTFILE=output.png \
  input.eps

但在实心白线旁边仍有一些灰度像素。

您是否知道在 Python 中从 .eps 到具有透明背景的 .png 文件的其他合理路径?

标签: pythonpython-3.xpython-imaging-libraryghostscriptimagemagick-convert

解决方案


推荐阅读