База знаний

Шаг 1 – попробуйте найти ответ:

База знаний: > API программы
CanvasPane. Канвас панель. API 2.0
Автор Alexey TSLab на 15 September 2016 01:23


CanvasPane предназначен для рисования произвольных линий.
Под линией подразумевается упорядоченный массив точек (x; y)

Чтобы нарисовать что-то из API, необходимо в качестве результата работы блока вернуть
объект класса InteractiveSeries.

Схематично алгоритм такой:
1. Создаём обычным способом блок на базе IStreamHandler
2. Готовим набор точек с использованием классов InteractivePointLight или InteractivePointActive
(второй является наследником первого и предоставляет дополнительные возможности по выводу меток рядом с узлами)
3. Помещаем подготовленные точки в коллекцию IEnumerable<InteractiveObject> например вот так:
List<InteractiveObject> controlPoints = new List<InteractiveObject>();

controlPoints.Add(new InteractiveObject(p1));
controlPoints.Add(new InteractiveObject(p2));


4. Создаём результирующую InteractiveSeries и даём её коллекцию точек:
InteractiveSeries res = new InteractiveSeries();
res.ControlPoints = new ReadOnlyCollection<InteractiveObject>(controlPoints);

5. Возвращаем res как результат работы метода Execute(...)
6. В атрибутах класса описываем выход так:
[OutputType(TemplateTypes.INTERACTIVESPLINE)]



Как пример инициализации точки:
InteractivePointActive p1 = new InteractivePointActive(x, y);
p1.Geometry = Geometries.Ellipse;
p1.Color = System.Windows.Media.Colors.Cyan;
p1.Tooltip = String.Format("K:{0}; IV:{1:0.00}", x, y);

(2 голос(а))
Эта статья полезна
Эта статья бесполезна