gpt4 book ai didi

java - 非官方 iText 4.2.1 : Purely created magenta color contains 44% of yellow

转载 作者:行者123 更新时间:2023-12-01 18:09:01 25 4
gpt4 key购买 nike

以下问题:我在 pdf 文档上画一条洋红色线。在此之前,我创建一个新的颜色对象,例如:

CMYKColor magentaColor = new CMYKColor(0.f, 1.f, 0.f, 0.f);

然后我为 PDFContentByte 设置此颜色,如下所示:

PdfContentByte cb = pdfWriter.getDirectContent();
cb.setColorStroke(magentaColor);

将 pdfWriter 的构造函数作为参数来创建我使用 PDFDirectContent 的类的实例。然后我使用 PDFContentByte#moveTo() 和 PDFContentByte#lineTo() 方法来绘制线条。我不明白的是为什么 pdf 文档上的线条颜色不是 100% 洋红色,而是包含大约 44% 的黄色。 Here您可以找到包含所描述行的 pdf 文件。

最佳答案

这似乎是一个色彩管理问题。绘制 100% 洋红色线 CMYK(0,100,0,0) 并将文档来回转换为 RGB 时,该线不再只是 100% 洋红色。

原因是,RGB(和 CIELab )都是 3 维颜色空间,而 CMYK 具有 4 维。只需三个维度即可描述颜色的视觉印象。

使用 CMYK 中的第四个维度,您可以管理颜色的配置。 RGB 和 CIELab 仅为特定颜色提供一种配置,而 CMYK 则提供大量配置来描述一种相同的视觉印象。

例如,30% 灰度的颜色代码为 RGB(74,74,75)。使用 CMYK,您可以使用 CMYK(0,0,0,30)(仅黑色)或 CMYK(25,18,17,0)(无黑色)描述同一个点。两种 CMYK 配置都有一个相同的视觉印象。此行为用于 UCR(底色去除)和 GCR(灰色分量替换)。

因此,请确保您的 PDF 不会不必要地来回转换为 RGB(或任何其他颜色空间)。

关于java - 非官方 iText 4.2.1 : Purely created magenta color contains 44% of yellow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34267096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com