【问题标题】:PHP ImageMagick png to eps conversion with transparent backgroundPHP ImageMagick png到eps转换与透明背景
【发布时间】:2019-01-14 22:46:02
【问题描述】:

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

我想要具有透明背景的 eps 图像。我有一个用于设计 t 恤打印图像的 php 应用程序,所以图像透明度是必须的。 输出 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 图像质量?

【问题讨论】:

    标签: php image imagemagick imagick eps


    【解决方案1】:

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

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

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

    关于图像大小; PNG是一种压缩格式,你已经指定了

    -不压缩

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

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

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

    【讨论】:

    • 关于质量差我只是意味着输出图像在缩放/缩放时没有图像清晰度,它几乎就像一个光栅图像,因为它在缩放时显示像素化,输入图像大小约为 90kb 而输出 eps 有文件大小为 6.4 mb
    • 当我使用 imagemagick 的 level3 postscript 选项将 png 转换为 eps 时,输出文件大小减小到 4 mb。
    • 嗯,PNG 光栅图像。将其包装为 EPS 并不会改变这一点。我不清楚您的期望.....我猜您正在使用的 ImageMagick 选项已经放大了图像(我相信密度参数可以做到这一点)。显然,如果您增加图像的分辨率,那么文件大小将会增加。不过,我需要先查看原始 PNG 和 EPS 文件,然后才能进一步发表评论。
    猜你喜欢
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 2014-02-07
    • 2013-04-08
    • 2013-12-10
    • 2011-07-13
    • 2014-09-10
    相关资源
    最近更新 更多