如何在将 eps 文件转换为 jpeg 或 png 时更改其背景颜色

Posted

技术标签:

【中文标题】如何在将 eps 文件转换为 jpeg 或 png 时更改其背景颜色【英文标题】:How to change background color of an eps file while converting it to jpeg or png 【发布时间】:2010-01-07 14:33:49 【问题描述】:

我正在使用 ghostscript 将 eps(封装 PostScript)文件转换为 jpeg 文件。我使用的示例命令是:

gswin32.exe -sDEVICE=jpeg -dJPEGQ=100 -dNOPAUSE -dBATCH -dSAFER -r600x600  -dGraphicsAlphaBits=4 -dUseCIEColor  -dEPSCrop -sOutputFile=”a.jpeg” b.eps

输入的 eps 文件带有白色背景(我只有它们的剪切路径)。我需要做的是在输出图像中将此白色背景更改为另一种颜色,或者如果我可以使它们透明(输出文件格式为 png)会更好。我该怎么做?

【问题讨论】:

【参考方案1】:

我自己从未尝试过,但您应该可以通过设置将您的 eps 文件转换为 png:

-sDEVICE=pngalpha

pngalpha 设备也有一个 -dBackgroundColor 选项:

-dBackgroundColor=16#RRGGBB(RGB颜色,默认白色=16#ffffff)对于 仅限 pngalpha 设备,设置 PNG中建议的背景颜色 bKGD 块。当一个程序读取一个 PNG 文件不支持 alpha 透明度,PNG 库转换 使用背景的图像 颜色(如果由程序提供)或 bKGD 块。一种常见的网络浏览器 有这个问题,所以在网页上使用时你 需要使用 -dBackgroundColor=16#CCCC00 创建 alpha 透明 PNG 图像时 在页面上使用。

这里有更多详细信息:Details of Ghostscript output devices 请参阅第 3.1 节。 PNG文件格式

【讨论】:

【参考方案2】:

从 Ghostscript 获取(白色背景)图像后,您可以使用 ImageMagick 的 convert 或 GraphicMagick 的 gm convert 命令将白色背景更改为透明背景:

convert -background transparent my.png my_transp.png

【讨论】:

以上是关于如何在将 eps 文件转换为 jpeg 或 png 时更改其背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在ghostscript中将svg、eps和ai转换为png

如何使用干预图像laravel将webp图像转换为jpeg或png

GDAL:Python GDAL.Translate可以将TIFF文件转换为JPEG或PNG数组 - 而不是写入文件吗?

如何才能将jpg格式的图片转化成png格式的

使用imagemagick将EPS转换为PNG时如何添加填充?

是否可以将 jpeg(或 png)类型的图像设置为 exe(C++)?