Получение цвета из значений xml

#c# #xml #colors

#c# #xml #Цвет

Вопрос:

У меня есть xml, который автоматически генерируется из .pptx. Я хочу получить цвет шрифта букв. Если цвет является базовым (желтый, красный, черный и т.д.), я получаю, например, #FF0000, что нормально. Но, если цвет светло-желтый или какой-либо другой неосновной цвет, в xml есть это:

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

Это генерируется, если буквы розовые.
Есть ли какой-либо способ, которым я могу получить цвет в этом формате # ff0000 по этим значениям?
Я работаю на C #.

Ответ №1:

schemeClr обозначает, что цвет связан с текущей темой пользователя (я не уверен, означает ли это тему Powerpoint или тему Windows), поэтому по ней невозможно определить, каким должен был быть цвет. Вам пришлось бы поискать accent6 в другом месте документа.

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

Ответ №2:

Я не могу сказать наверняка, но, возможно, это целочисленное представление? Итак, вам нужно прочитать int для val, а затем использовать Color.FromArgb(val) .