簡體   English   中英

DrawingML 顏色中的 lumMod/lumOff 和 tint/shade 有什么區別?

[英]What's the difference between lumMod/lumOff and tint/shade in DrawingML colors?

使用<a:lumMod><a:lumOff>標簽在 DrawingML 中設置陰影或色調(例如分別深 25%,淺 40%)與使用<a:lumMod>執行似乎產生類似結果的操作之間有什么<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 屬性是此處顯示的唯一一個標簽。 當顏色為原始顏色時,標簽出現在標簽之后。

<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 值。)

檢查這篇文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM