带有透明背景的PHP ImageMagick png到eps转换
我有一个透明背景的png图像,我尝试使用imagemagick的convert命令将其转换为eps文件,得到了白色背景的eps图像 我想要有透明背景的eps图像。我有一个php应用程序,用于设计T恤打印的图像,所以图像的透明度是必须的。 另外,输出eps图像的图像质量非常差,图像大小与输入大小相比非常大 我试过指挥带有透明背景的PHP ImageMagick png到eps转换,php,image,imagemagick,imagick,eps,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 -compres
convert test2.png -resize 1024x1024 -density 500 -units pixelsperinch -quality 100 -compress none -alpha set -flatten -background none -depth 20 test2_eps.eps
Iam使用php的系统函数执行此命令
是否有任何选项来保持输入图像的透明度?默认为白色吗?我们如何提高输出eps图像质量?PostScript(因此eps)没有透明度的概念(有些例外),因此您无法轻松地将带有alpha通道的图像转换为eps
如果“背景”是100%透明的,则可以在PostScript中使用遮罩图像(即2个图像,其中第二个是确定第一个图像绘制位置的遮罩)创建类似效果。这是一个很少使用的特性,需要一个3级PostScript解释器。大多数EPS导出功能不超过级别2
至于ImageMagick是否能创造出这样的EPS,我没有任何线索,但如果我发现它不能,我一点也不会感到惊讶。你可能需要使用Photoshop之类的东西
关于图像大小;PNG是一种压缩格式,您已指定
-不压缩
因此,产出更大也就不足为奇了
基本上不可能对你的质量问题发表评论,部分原因是你没有真正说出你认为是什么问题“质量”是相当模糊的,也许你可以发布一个例子
如果您的EPS有缩略图预览,请不要误以为这就是EPS所包含的内容,它只是一个低分辨率位图预览,,它是为无法解释PostScript内容的EPS用户提供的。这样,当您将EPS放在最终文档中时,他们可以预览结果。关于质量差,我只是说输出图像在缩放/缩放时没有图像清晰度,它几乎像光栅图像,因为缩放时显示像素化,此外,输入图像大小约为90kb,而输出eps的文件大小为6.4 mb。当我使用imagemagick的level3 postscript选项将png转换为eps时,输出文件大小减小为4 mb。png是一个光栅图像。将其包装为EPS并不能改变这一点。我不清楚你在期待什么。。。。。我猜您使用的ImageMagick选项已经放大了图像(我相信密度参数可以做到这一点)。显然,如果提高图像的分辨率,则文件大小将增加。我需要先查看原始的PNG和EPS文件,然后才能进一步发表评论。