gpt4 book ai didi

vba - DrawingML 颜色中的 lumMod/lumOff 和 tint/shade 有什么区别?

转载 作者:行者123 更新时间:2023-12-04 04:34:59 25 4
gpt4 key购买 nike

使用 <a:lumMod> 在 DrawingML 中设置阴影或色调(例如分别深 25%,浅 40%)有什么区别?和 <a:lumOff>标签并执行似乎与 <a:shade> 产生类似结果的操作和 <a:tint>标签?

在 PowerPoint 中,从调色板选择器中选择“Accent 1, 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>

并产生稍浅的颜色。

我应该如何理解发生了什么?为什么有两种方法如此相似,为什么它们的行为不同?

最佳答案

当颜色是原始主题颜色的阴影时,lumMod 属性是此处显示的唯一一个标签。当颜色为原始颜色时,标 checkout 现在标签之后。

<a:rPr>
<a:solidFill>
<a:schemeClr val="accent1">
<a:lumMod val="60000"/>
<a:lumOff val="40000"/>
</a:schemeClr>
</a:solidFill>
</a:rPr>

这意味着您可以通过 valaccent1 从 ColorTheme 获取颜色(假设为 RGb(91, 155, 213))。
然后你必须改变这种颜色的亮度。您可以将其转换为 HSL(208.5°, 59.2, 59.6)
并修改亮度 = (luminance/100)*(lumMod/100_000) + (lumOff/100_000)
获取新的 HSL 颜色 (HSL(208.5°, 59.2, 75.7) -> RGB(156, 195, 230)

对于阴影,等式是亮度 * %tint。
对于色调,等式是亮度 * %tint + (1-%tint)。 (请注意,1-%tint 等于 DrawingML 中的 lumOff 值。)

查询 this文章。

关于vba - DrawingML 颜色中的 lumMod/lumOff 和 tint/shade 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19886180/

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