如何将 .eps 文件转换为高质量的 1024x1024 .jpg?
Posted
技术标签:
【中文标题】如何将 .eps 文件转换为高质量的 1024x1024 .jpg?【英文标题】:How to convert a .eps file to a high quality 1024x1024 .jpg? 【发布时间】:2011-11-26 21:11:35 【问题描述】:我有一个可以在 Photoshop 中查看的 .eps 文件,它具有非常高的分辨率、锐利的边缘等,甚至大于 1024x1024。
使用 ImageMagick,我想将此 .eps 转换为具有非常高分辨率的 1024x1024 .jpg。
但是,使用以下命令,图像非常模糊:
convert -resize "1024x1024" -colorspace RGB -flatten test.eps test.jpg
我必须使用哪些 ImageMagick 参数才能使生成的 .jpg 为 1024x1024 和高质量、清晰的图像?
这是我们发现的一些 XMP 数据,可能是什么导致它无法使用 -size
调整大小:
【问题讨论】:
因为 JPG 使用 DCT 转换,它适用于自然图像,即照片。它不适合边缘锐利的图像。使用 png 代替。只是一个想法...... 命令convert -resize "1024x1024" -colorspace RGB -flatten test.eps test.png
仍然会产生一个模糊的.png 文件,我需要增加我认为的dpi 但无法获得正确的参数设置
尝试使用-filter
描述的here 将调整大小的方法更改为更合适的方法
找不到任何有效的过滤器设置,例如convert -resize "1024x1024" -colorspace RGB -flatten -define filter:blur=.4 test.eps test.jpg
并没有让它变得更清晰,而是把它变成了小方块
好吧,半径为 0.4 的模糊可能不是适合调整大小的最佳滤镜 :-)
【参考方案1】:
对于矢量图形,ImageMagick 具有相互独立的渲染分辨率和输出大小。
试试类似的东西
convert -density 300 image.eps -resize 1024x1024 image.jpg
这将使您的 eps 以 300dpi 呈现。如果 300 * 宽度 > 1024,那么它将是锐利的。但是,如果将其渲染得太高,则会浪费大量内存来绘制真正高分辨率的图形,而只是再次对其进行下采样。我目前不知道在一个 IM 命令中以“正确”分辨率呈现它的好方法。
参数的顺序很重要! -density X
参数需要在 image.eps
之前,因为您想影响输入文件的呈现分辨率.
这在convert
的手册页中不是很明显,但暗示:
概要
convert [input-option] input-file [output-option] output-file
【讨论】:
谢谢,这样做了,实际上最好的分辨率结果是当密度=resize时,例如:convert -density 1024x1024 -resize 1024x1024 test.eps test.jpg
不,我不相信它会像您认为的那样。它以 1024dpi 渲染您的图像,然后将其下采样到 1024x1024px。例如,一个 4x4 英寸的 EPS 在内存中会变成 4096x4096px,然后调整为 1024x1024px。
当我在谷歌搜索时,我发现这个 *** 答案就在另一个具有正确答案和关键金块的不同答案之后/之下。关键是要确保 -density 标志(我使用“-density 400%”)出现在输入文件名之前。在我最初的设置中,我将所有标志夹在输入文件名和输出文件名之间,而 -density 在这种情况下没有效果(导致文本字体图像模糊)。所以读者应该确保 -density 出现在 test.eps 和 test.jpg 之前。 [我的一个常见案例是将 pdf 转换为 png。]
Jose_X 经过数小时的搜索,您是唯一一个解决了我的问题的人。将密度放在源之前就是答案。谢谢你【参考方案2】:
也许您应该尝试使用 -quality 100 -size "1024x1024",因为调整大小通常会产生难看的结果。
【讨论】:
hmm,convert -colorspace RGB -flatten -quality 100 -size "1024x1024" test.eps test.jpg
创建一个大小为 100x41 的 .jpg,为什么会这样?
你试过不加引号吗?否则我不会得到,问题出在哪里
是的,我试过不带引号,结果相同,一位同事提到“XMP 信息将缩略图定义为较小的尺寸”,也许我需要以某种方式覆盖它?
我在上面发布了 XMP 数据,奇怪的是它声明了 height=104,width=256,但它创建了一个 test.jpg,height=100,width=41。
命令 convert -colorspace RGB -flatten -quality 100 -size "1024x1024" test.eps test.png
也会生成 100x41 的图像以上是关于如何将 .eps 文件转换为高质量的 1024x1024 .jpg?的主要内容,如果未能解决你的问题,请参考以下文章
Ghostscript:将 EPS 转换为 PNG 时,有时质量会失败
如何将带有“pdftocairo -eps”的“横向”PDF转换为正确的EPS?
如何在不将字体转换为轮廓的情况下将 cairo-pdf 转换为 eps