2013-11-10 63 views
1

使用<a:lumMod><a:lumOff>标签在DrawingML中设置阴影或色调(分别为25%较暗,分别较轻40%)和使用<a:shade><a:tint>标签似乎产生类似结果之间有什么区别?LumMod/lumOff和DrawingML颜色中的色调/阴影之间有什么区别?

在PowerPoint,选择 '口音1,打火机40%' 从调色板选择器颜色产生XML这样的:

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

使用API​​方法亮度这样产生相同的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> 

并产生稍浅的颜色。

我应该如何理解发生了什么?为什么有两种方法如此相似以及它们为什么表现不同?

回答

2

当颜色是原始主题颜色的阴影时,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得到颜色(let将是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)

对于阴影,方程为亮度*%色调 对于色调,方程为亮度*%tint +(1%tint)。 1%色调等于在DrawingML的lumOff值)

检查this文章

+0

对不起马克西姆,你可能想再次读取的问题,这种反应并没有真正解决问题,这是。: “为什么API和XML模式有两个d指定色调/阴影的不同方式,以及它们为什么会产生不同的效果图?“。 – scanny

+1

@scanny有点不公平,用他提供的所有信息使他失望。如果你想要回答你在评论中提出的确切问题,你应该这样问。所以这里是答案 - 因为COM API和XML模式是两回事。就这样。 –

相关问题