powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Shape нарисовать линии разным цветом
4 сообщений из 4, страница 1 из 1
Shape нарисовать линии разным цветом
    #38861814
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть класс наследник от Shape
Можно как-то рисовать линии, но чтобы они все были разным цветом

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
        protected override Geometry DefiningGeometry
        {
            get
            {
                StreamGeometry geometry = new StreamGeometry();
                geometry.FillRule = FillRule.EvenOdd;
                using (StreamGeometryContext context = geometry.Open())
                {
                    context.DrawGeometry(new EllipseGeometry(new Point(CentreX, CentreY), Radius, Radius));
                    DrawGeometry(context, 0);
                    DrawGeometry(context, 90);
                    DrawGeometry(context, 180);
                    DrawGeometry(context, 134);
                }


                geometry.Freeze();

                return geometry;
            }
        }

        private void DrawGeometry(StreamGeometryContext context, double angle)
        {
            var x = CentreX + Radius * Math.Cos(angle * (Math.PI / 180.0));
            var y = CentreY + Radius * Math.Sin(angle * (Math.PI / 180.0));
            Point startPoint = new Point(x, y);

            x = CentreX + (Radius - 10) * Math.Cos(angle * (Math.PI / 180.0));
            y = CentreY + (Radius - 10) * Math.Sin(angle * (Math.PI / 180.0));
            Point endPoint = new Point(x, y);

            context.BeginFigure(startPoint, true, true);
            context.LineTo(endPoint, true, true);
        }
...
Рейтинг: 0 / 0
Shape нарисовать линии разным цветом
    #38861825
Ilya81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вряд ли это получится средствами класса Shape - класс Geometry данные о цвете не использует, а свойство Stroke у класса Shape одно. Можно просто отнаследовать от FrameworkElement и выводить растровую картинку в методе OnRender.
...
Рейтинг: 0 / 0
Shape нарисовать линии разным цветом
    #38861841
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ilya81,

А может от какого другого класса наследоваться, в котором можно такое сделать?
...
Рейтинг: 0 / 0
Shape нарисовать линии разным цветом
    #38861879
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал наследника от FrameworkElement. Теперь все хорошо
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Shape нарисовать линии разным цветом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]