gpt4 book ai didi

png - 为什么从 gnuplot postscript 输出转换而来的 .png 具有透明背景?

转载 作者:行者123 更新时间:2023-12-01 13:05:05 25 4
gpt4 key购买 nike

我使用 gnuplot (4.2) 将图形写入 postscript 文件。但是,当我使用“convert file.ps file.png”命令将此 .ps 文件转换为 .png 文件时,我得到了一个没有背景(透明)的 png 图像。

为什么会发生这种情况,如何获取具有白色背景的 png 图像?

最佳答案

“为什么会这样?”

两个可能的原因结合起来:

首先:您的 PostScript 输入很可能不包含任何背景。实际上,这是“透明的”。打印时,这会像往常一样出现。 (一些 PostScript 文件确实有白色背景。打印时,这仍然像往常一样出现。你只会发现,当你回头尝试在文件的“背景”中添加一些水印时,这似乎不起作用。在这些情况下,水印笔画被白色区域覆盖,该区域再次被最初描边的 PS 内容覆盖...)

其次: convert a.ps a.png 命令本身不执行此操作。它调用外部“委托(delegate)” 帮助程序,很可能是 Ghostscript。 Ghostscript 有不同的方法来调整其 PNG 输出。您可以像这样查询 Ghostscript 的所有输出“设备”:

gs -h

现在将查询限制为仅包含 PNG 相关设备的行:

gs -h | grep png

您会看到有一个pngalpha 输出设备。这个可以输出 PNG 图像的透明胶片。

接下来,查询 convert 关于它的完整委托(delegate)列表:

convert -list delegate

您会看到 convert 在您背后使用几十个命令来完成其工作。让我们看看它使用什么命令来处理 PNG 输入或输出:

convert -list delegate | grep -i png

您可能会发现某些转换类型的 gs ... -sDEVICE=pngalpha ... 命令行。

“如何获取白色背景的png图片?”

试试这个:

convert a.ps -background white a.png

关于png - 为什么从 gnuplot postscript 输出转换而来的 .png 具有透明背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3689693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com