使用 Image Magick 将 .eps (CMYK) 转换为 .jpg (RGB) 的最佳方法是什么

发布于 2024-09-05 23:08:12 字数 1179 浏览 7 评论 0原文

我有一堆 .eps 文件 (CMYK),需要将其转换为 .jpg (RGB) 文件。

与源 EPS 文件相比,以下命令有时会给出饱和度不足或过度饱和的 .jpg 图像:

    $cmd = "convert -density 300 -quality 100% -colorspace RGB ".$epsURL." -flatten -strip ".$convertedURL; 

是否有更智能的方法来执行此操作,以便转换后的图像具有与源 EPS 文件相同的质量?

以下是源文件信息的示例:

图片:rejm.eps 格式:PS(PostScript) 班级: 直接班级 几何尺寸:537x471 基本几何形状:1074x941 类型:分色 字节顺序:未定义 色彩空间:CMYK 通道深度: 青色:8 位 洋红色:8 位 黄色:8 位 黑色:8 位 频道统计: 青色: 最小值:0 (0) 最大:255 (1) 平均值:161.913 (0.634955) 标准差:72.8257 (0.285591) 品红: 最小值:0 (0) 最大:255 (1) 平均值:184.261 (0.722591) 标准差:75.7933 (0.297229) 黄色的: 最小值:0 (0) 最大:255 (1) 平均值:70.6607 (0.277101) 标准差:39.8677 (0.156344) 黑色的: 最小值:0 (0) 最大值:195 (0.764706) 平均值:34.4382 (0.135052) 标准差:38.1863 (0.14975) 总油墨密度:292% 颜色:210489 渲染意图:未定义 分辨率:28.35x28.35 单位:像素每厘米 文件大小:997.727kb 交错:无 背景颜色:白色 边框颜色:#DFDFDFDFDFDF 哑光颜色:grey74 页面几何尺寸:537x471+0+0 处置:未定义 迭代次数:0 压缩:未定义 方向:未定义 签名:8ea00688cb5ae496812125e8a5aea40b0f0e69c9b49b2dc4eb028b22f76f2964 配置文件-iptc:19738 字节

谢谢

I have a bunch of .eps files (CMYK) that I need to convert to .jpg (RGB) files.

The following command sometimes gives me under or over saturated .jpg images, when compared to the source EPS file:

    $cmd = "convert -density 300 -quality 100% -colorspace RGB ".$epsURL." -flatten -strip ".$convertedURL; 

Is there a smarter way to do this such that the converted image will have the same qualities as the source EPS file?

Here is an example of the source file info:

Image: rejm.eps
Format: PS (PostScript)
Class: DirectClass
Geometry: 537x471
Base geometry: 1074x941
Type: ColorSeparation
Endianess: Undefined
Colorspace: CMYK
Channel depth:
Cyan: 8-bit
Magenta: 8-bit
Yellow: 8-bit
Black: 8-bit
Channel statistics:
Cyan:
Min: 0 (0)
Max: 255 (1)
Mean: 161.913 (0.634955)
Standard deviation: 72.8257 (0.285591)
Magenta:
Min: 0 (0)
Max: 255 (1)
Mean: 184.261 (0.722591)
Standard deviation: 75.7933 (0.297229)
Yellow:
Min: 0 (0)
Max: 255 (1)
Mean: 70.6607 (0.277101)
Standard deviation: 39.8677 (0.156344)
Black:
Min: 0 (0)
Max: 195 (0.764706)
Mean: 34.4382 (0.135052)
Standard deviation: 38.1863 (0.14975)
Total ink density: 292%
Colors: 210489
Rendering intent: Undefined
Resolution: 28.35x28.35
Units: PixelsPerCentimeter
Filesize: 997.727kb
Interlace: None
Background color: white
Border color: #DFDFDFDFDFDF
Matte color: grey74
Page geometry: 537x471+0+0
Dispose: Undefined
Iterations: 0
Compression: Undefined
Orientation: Undefined
Signature: 8ea00688cb5ae496812125e8a5aea40b0f0e69c9b49b2dc4eb028b22f76f2964
Profile-iptc: 19738 bytes

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

故事↓在人 2024-09-12 23:08:12

您的输出文件采用 JPEG 格式有充分的理由吗? EPS 是一种矢量格式,而 JPEG 是一种有损压缩位图格式,专门针对照片进行了优化 - 即由模糊定义的可变颜色块组成的图像,而不是清晰定义的实体区域,后者是矢量图像的组成部分。

因此,在从任何矢量格式转换(光栅化)为 JPEG 时,基本上可以保证在本来应该是实色块的地方出现丑陋的边缘伪像和斑点斑块。无论你做什么,都会发生这种情况;它是 JPEG 格式所固有的。最大限度地减少这种情况的方法是将压缩设置为零,但这样您就得不到任何好处,并且基本上没有理由使用 JPEG。

所有网络浏览器都支持的非有损位图格式(如 PNG)要好得多;它们可以为您提供纯色和更清晰的边缘。

如果是其他人为这个项目指定了 JPEG 格式,我恳求您向那个人解释一下。不幸的是,绝大多数人并不了解关于 JPEG 格式的这个非常基本的事实,只知道 JPEG 是“默认”位图格式,因此网络上充满了误用的质量糟糕的 JPEG 位图图像 - 来自数百万的公司徽标- 美元公司由所谓的专业图形设计师工作。

如果您的源 EPS 文件碰巧嵌入了位图图像,并且您想要做的是提取它们,而不是光栅化矢量数据,我很确定 Ghostscript 中的“ps2image”类型的工具可以完成这项工作反而。

Is there a good reason your output files are in JPEG format? EPS is a vector format, while JPEG is a lossy-compression bitmap format which is specifically optimized for photographs - i.e., images consisting of vaguely defined patches of variable color, as opposed to sharply defined solid areas, which is what vector images consist of.

So in converting (rasterizing) from any vector format to JPEG, you are basically guaranteed to get ugly edge artifacts and blotchy patches in what are supposed to be solid blocks of color. This will happen no matter what you do; it is inherent to the JPEG format. The way to minimize this is setting the compression to zero, but then you are getting none of the benefits and basically have no reason to be using JPEG.

Non-lossy bitmap formats like PNG, which is supported by all web browsers, are much better; they can give you solid colors and cleaner edges.

If it's someone else who is specifying the JPEG format for this project, I implore you to please, please, explain this to that person. Unfortunately the vast majority of people do not understand this very basic fact about the JPEG format, and only know that JPEG is the "default" bitmap format, so the web is full of misapplied horrible-quaility JPEG bitmap images - from corporate logos of multimillion-dollar corporations to work by so-called professional graphic designers.

If by chance your source EPS files have bitmap images embedded in them, and what you're trying to do is extract them, rather than rasterize vector data, I'm pretty sure the "ps2image" type of tools in Ghostscript will do the job instead.

∞琼窗梦回ˉ 2024-09-12 23:08:12

.eps 文件是一种矢量文件格式。

.jpg 是位图文件格式。

.eps 文件被渲染为位图,然后使用 JPEG 压缩进行压缩并保存为 .JPG 文件。

您遇到的问题是 CMYK 是为设备输出而设计的。因此,您需要使用 Little CMS 或 PhotoShop/PhotoPaint 应用适当的 ICC 配置文件。适当的配置文件取决于输出设备。例如,如果您要在显示器上显示结果,则需要使用显示器 ICC 配置文件。如果您要将结果输出到办公室打印机,那么您将需要使用办公室打印机的 ICC 配置文件。低端设备通常不附带 ICC 配置文件,但是,您可以从 Internet 下载适用于您的设备的配置文件。 Photoshop 或 PhotoPaint 等图像处理软件确实附带了一系列可供使用的配置文件。

你可以尝试这样的事情,尽管我不确定这是否有效或是否正确。请参阅 ImageMagick 文档以获取更多帮助。

convert cmyk_image.eps -profile sRGB.icc rgb_image.jpg

An .eps file is a vector file format.

A .jpg is bitmap file format.

The .eps file is rendered to a bitmap which is then compressed using JPEG compression and saved to a .JPG file.

The issue you are running into is that CMYK is designed for device output. Thus you will need to apply an appropriate ICC profile using Little CMS or PhotoShop/PhotoPaint. The appropriate profile depends on the output device. If, for example you are displaying the result on your monitor, you will need to use an your monitors ICC profile. If you are outputing the result to your office printer then you will need to use your office printer's ICC profile. Lower end devices typically do not come with an ICC profile, however, you might be able to download one for your device from the Internet. Image manipulation software like Photoshop or PhotoPaint do come with a selection of profiles that can be used.

You could try something like this, though I'm not sure if this will work or is correct. See the ImageMagick documentation for further help.

convert cmyk_image.eps -profile sRGB.icc rgb_image.jpg
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文