Skip to content

dotnet OpenXML 颜色变换

Updated: at 08:22,Created: at 02:43

颜色变换是对基础颜色的相关属性的修改。 例如,透明度是与颜色相关的属性。 颜色转换被指定为任何颜色模型标签的子标签,可以在任何颜色加上颜色变换

大概的写法如下

<a:solidFill>
<a:srgbClr val="00B050">
<a:alpha val="51000"/>
</a:srgbClr>
</a:solidFill>

上面代码表示一个 使用 Solid Color Brush 的填充(a

) 颜色是 RGB 颜色,基础值是 #00B050 在此基础上加上 alpha 通道,值是 EMU 单位的

a:alpha 就是颜色变换的内容,除了 a:alpha 之后,还有很多其他的颜色变换

详细请看 ECMA 376 的 L.4.8.3 文档和 20.1.2.3 Colors 文档

计算方法详细请看 【Openxml】颜色变化属性计算 - RyzenAdorer - 博客园

上面的所有标记了百分比的值的单位都是千倍百分比,也就是在 OpenXML 文档里写的值如下面代码,这里的 lumMod 就是表示百分比

<a:schemeClr val="tx1">
<a:lumMod val="65000" />
</a:schemeClr>

这里的 65000 就是千倍百分比,每 1000 表示百分之一,关于单位请看Office Open XML 的测量单位

更多请看 Office 使用 OpenXML SDK 解析文档博客目录


知识共享许可协议

原文链接: http://blog.lindexi.com/post/dotnet-OpenXML-%E9%A2%9C%E8%89%B2%E5%8F%98%E6%8D%A2

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系