使用<a:lumMod>
和<a:lumOff>
标签在DrawingML中设置阴影或色调(例如,分别变暗25%和变亮40% )与使用<a:shade>
和<a:tint>
标签进行似乎产生类似结果的操作有什么区别?
在PowerPoint中,从调色板选择器中选择“accent1,40% Lighter”颜色会生成如下所示的XML:
<a:rPr>
<a:solidFill>
<a:schemeClr val="accent1">
<a:lumMod val="60000"/>
<a:lumOff val="40000"/>
</a:schemeClr>
</a:solidFill>
</a:rPr>
像这样使用API方法Brightness会生成相同的XML:
TextRange.Font.Color.Brightness = 0.4
像这样使用API方法TintAndShade:
TextRange.Font.Color.TintAndShade = 0.4
生成以下XML:
<a:rPr>
<a:solidFill>
<a:schemeClr val="accent1">
<a:tint val="60000"/>
</a:schemeClr>
</a:solidFill>
</a:rPr>
并产生略微浅一点的颜色。
我该如何理解正在发生的事情呢?为什么有两种方法如此相似,为什么它们的行为不同?
发布于 2014-02-22 13:42:33
当颜色是原始主题颜色的阴影时,lumMod属性是此处显示的唯一一个出现的标记。当颜色为原始颜色的色调时,标签将显示在标签之后。
<a:rPr>
<a:solidFill>
<a:schemeClr val="accent1">
<a:lumMod val="60000"/>
<a:lumOff val="40000"/>
</a:schemeClr>
</a:solidFill>
</a:rPr>
这意味着你可以从val accent1的ColorTheme中获取颜色(比如RGb(91,155,213))。然后,您必须更改此颜色的亮度。您可以将其转换为HSL(208.5°,59.2,59.6)并修改亮度=(亮度/100)*(lumMod/100_000)+ (lumOff/100_000)获取新的HSL颜色(HSL(208.5°,59.2,75.7) -> RGB(156,195,230) )
对于着色,方程式为亮度*%色调。对于色调,方程为亮度*%色调+(1-%色调)。(请注意,1-%tint等于DrawingML中的lumOff值。)
查看this文章。
https://stackoverflow.com/questions/19886180
复制