PHP ImageMagick png 到具有透明背景的 eps 转换

PHP ImageMagick png to eps conversion with transparent background

我有一个透明背景的 png 图像,我尝试使用 imagemagick 的转换命令将其转换为 eps 文件,并得到了具有白色背景的 eps 图像。

我想要透明的 eps 图片 background.I 有一个 php 应用程序可以设计用于 T 恤打印的图片,所以图片透明是必须的。 输出 eps 图像的图像质量也很差,图像尺寸与输入尺寸相比确实很大。

我试过命令

convert test2.png -resize 1024x1024 -density 500 -units pixelsperinch -quality 100 -compress none -alpha set -flatten -background none -depth 20 test2_eps.eps

我正在使用 php 的系统函数来执行此命令。

有没有保持输入图像透明度的选项?默认是白色的吗?我们如何提高输出的 eps 图像质量?

PostScript(因此 EPS)没有透明度的概念(有一些例外),因此您不能轻松地将具有 alpha 通道的图像转换为 EPS。

如果 'background' 是 100% 透明的,则可以使用蒙版图像在 PostScript 中创建类似的效果(即 2 个图像,其中第二个是确定第一个图像绘制位置的蒙版)。这是一个很少使用的功能,需要 3 级 PostScript 解释器。大多数 EPS 导出功能不会超过 2 级。

至于 ImageMagick 是否可以创建这样的 EPS,我不知道,但如果发现它不能,我一点也不会感到惊讶。您可能需要使用 Photoshop 之类的工具。

关于图片大小; PNG 是一种压缩格式,您已指定

-compress none

所以输出更大也就不足为奇了!

基本上不可能对您的质量问题发表评论,部分原因是您还没有真正准确地说出您认为有问题的是什么。 'Quality' 比较模糊,也许你可以 post 举个例子。

如果您的 EPS 有缩略图预览,请不要误以为这是 EPS 包含的内容,它是低分辨率位图预览 并且它的存在是为了 EPS 的好处无法解释 PostScript 内容的消费者。以便在您将 EPS 放入最终文档时他们可以预览结果。