2

<a:lumMod>在 DrawingML 中使用and标签设置阴影或色调(例如,分别暗 25%,亮 40%)与使用and<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>

并产生稍浅的颜色。

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

4

1 回答 1

3

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

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

这意味着您可以通过 val 重音 1 从 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 值。)

检查这篇文章。

于 2014-02-22T13:42:33.080 回答