从xml值获取颜色

时间:2011-11-08 09:50:37

标签: c# xml colors

我有一个从.pptx自动生成的xml。我想得到字母字体的颜色。如果颜色是基本的(黄色,红色,黑色等),我会得到#FF0000,这是好的。 但是,如果颜色是浅黄色或其他一些非基本颜色,在xml中有这样的:

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

如果字母为粉红色,则会生成此信息。 有没有什么方法可以通过这些值以#ff0000格式获得颜色? 我在C#工作。

2 个答案:

答案 0 :(得分:0)

我不能肯定地说,但也许这是整数表示?所以你需要为val读取int,然后使用Color.FromArgb(val)

答案 1 :(得分:0)

schemeClr表示颜色与用户当前主题相关(我不确定这是否意味着Powerpoint主题,或Windows主题),因此无法判断颜色的含义是什么是。您必须在文档的其他位置查找accent6

http://msdn.microsoft.com/en-us/library/documentformat.openxml.drawing.schemecolor.aspx