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

时间:2018-08-07 18:55:57

标签: php image imagemagick imagick eps

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

我想要具有透明背景的eps图像。我有一个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的图像质量?

1 个答案:

答案 0 :(得分:1)

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

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

关于ImageMagick是否可以创建这样的EPS,我没有任何线索,但是发现它不能,我一点也不惊讶。您可能必须使用类似Photoshop的工具。

关于图像尺寸; PNG是一种压缩格式,您已指定

  

-不压缩

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

基本上无法对您的质量问题发表评论,部分原因是您还没有真正说出问题所在。 “质量”相当模糊,也许您可​​以举个例子。

如果您的EPS具有缩略图预览,请不要误以为这是EPS包含的内容,它是一个的低分辨率位图预览,它的存在使EPS消费者受益匪浅解释PostScript内容。这样,当您将EPS放入最终文档中时,他们就可以预览结果。