#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)
.