Найти цвет, назначенный точке на круговой диаграмме ASP.NET при использовании палитр

У меня есть базовый элемент управления ASP.NET Charting, установленный в виде круговой диаграммы с использованием палитры «Яркая пастель», и я хотел бы связать цвета, используемые в диаграмме, с сеткой в ​​другом месте страницы (которая эффективно действует как легенда, но будет и еще несколько полей, как только я заработаю).

Я не могу найти нигде в элементе управления, где бы он ссылался на фактические цвета, используемые в каждом разделе круговой диаграммы, все свойства BackgroundColor равны 0. Я мог бы вручную назначить цвета, но это действительно усложнит ситуацию, если мне придется это сделать. тот.

Снимок экрана, если он помогает визуализировать то, что я пытаюсь сделать:


person Gareth    schedule 14.03.2011    source источник


Ответы (1)


После того, как вы установили серию, вы можете вызвать метод chart1.ApplyPaletteColors (), а затем проверить свойство series []. Color, чтобы определить цвет.

chart1.Series.Clear();
chart1.Series.Add(new Series());
chart1.Series.Add(new Series());

Color series1Color = chart1.Series[0].Color;  
// Above (Series 1) currently holds {Color [Empty]} || {Name=0, ARGB={0,0,0,0}}
Color series2Color = chart1.Series[1].Color;  
// Above (Series 2) currently holds {Color [Empty]} || {Name=0, ARGB={0,0,0,0}}

chart1.ApplyPaletteColors();

Color series1AfterColor = chart1.Series[0].Color; 
// Above (Series 1) now holds {Color [A=255, R=65, G=140, B=240]}

Color series2AfterColor = chart1.Series[1].Color; 
// Above (Series 2) now holds {Color [A=255, R=252, G=180, B=65]}

Эти цвета будут различаться в зависимости от установленной вами цветовой палитры.

Чтобы узнать, какие цветовые палитры вы можете установить, посетите блог Алекса Горева.

Из блога Alexs
(источник: msdn.com)

Источник - блог Алекса

У него есть очень полезные сообщения о построении диаграмм .NET, и я часто консультировался с его блогом, обычно в поисках ответов на вопросы о диаграммах в google http://blogs.msdn.com/b/alexgor/

Дайте мне знать, если это недостаточно ответ на ваш вопрос для выполнения вашей задачи, и я подробно расскажу о любой области, которую вы спросите, на которую я способен.

person JHubbard80    schedule 31.07.2011