我对FillColor属性有一点问题。从脚本参考看来,可以用RGB颜色设置它。
RGBColor RGB = new RGBColor();
.CharacterAtributes.FillColor = RGB;
但如果我试图将其反转,我会一直收到错误
RGB = .CharacterAtributes.FillColor;
即使添加对RGB颜色的引用
RGB = .CharacterAtributes.FillColor.RGBColor;
据我所知,FillColor
应该是包含color
对象的RGBColor
对象。但如果我检查调试它只包含CMYK值为double。它是否已知毛刺,或者我错过了将填充颜色作为RGB的东西?
谢谢,
米哈尔
答案 0 :(得分:0)
我对颜色对象如何工作的理解是FillColor将包含一个颜色对象,它将具有以下子类之一:
CMYKColor
GradientColor
GrayColor
LabColor
NoColor
PatternColor
RGBColor
SpotColor
听起来您的填充颜色设置为CMYKColor,如果您需要RGBColor,则必须从CMYK进行转换并使用转换后的值创建。我知道脚本API中没有内置的颜色转换库,但有几个库可用。这是我发现的快速Javascript color conversion RGB, CMYK and HSV
祝你好运。答案 1 :(得分:0)
我认为我对FillColor
的理解是错误的。它将 任何一个类,而不是 :
CMYKColor
GradientColor
GrayColor
LabColor
NoColor
PatternColor
RGBColor
SpotColor
在这种情况下,分配应如下所示:
RGB.Red = .CharacterAtributes.FillColor.Red;
RGB.Green = .CharacterAtributes.FillColor.Green;
RGB.Blue = .CharacterAtributes.FillColor.Blue;
迈克尔