Pull to refresh

Компонент AGE, Another Graphic Engine in .NET

Reading time2 min
Views481
Итак сразу к делу. Компонент можно достать здесь и там же есть описание его.
Компонент неплох. Хорошо рисует, можно понастраивать Canvas на котором все это дело рисуется. Красиво рисует, что тоже плюс.






Для того что бы вам с ним начать работать нужно добавить компонент входящий в сборку NeoDataType.Graphics. После чего кидаете на форму компонент отрисовки элементов (Canvas). Компонент умеет рисовать объекты наследующиеся от NeoDataType.Graphic.GraphicItem. У этого типа есть ссылка на объект типа NeoDataType.Graphic.Painter, именно в этом классе вы и реализуете отрисовку объекта.
У NeoDataType.Graphic.Painter есть ссылка на NeoDataType.Graphic.GraphicItem.

Т.е. после того как вы создали свой объект и свой пейнтер получится следующее:


Я думаю понятно что получилось. Реализация вот:

public class TestPainter : NeoDataType.Graphic.Painter
{
 protected override void  Paint(System.Drawing.Graphics g)
 {
  TestPObject item = (TestPObject) Item;
  g.DrawLine(item.Pen, item.Bounds.Left, item.Bounds.Top, item.Bounds.Right, item.Bounds.Bottom);
 }
}

public class TestPObject : NeoDataType.Graphic.GraphicItem
{
 public  Pen Pen{ get; set;}
 public  TestPObject()
 {
  Painter = new TestPainter();
 }
}


* This source code was highlighted with Source Code Highlighter.


Для того что бы компонент начал отрисовывать ваши элементы следует добавить экземпляры типа NeoDataType.Graphic.GraphicItem к коллекции эелементов содержащихся в компоненте. Для этого нам у Canvas надо обратится к GraphicDocument в котором содержится коллекция наших объектов. Код примерно следующй:

cnvMain.Document = new GraphicDocument();
cnvMain.Document.AddItem(new TestPObject(){Pen = Pens.Black});


* This source code was highlighted with Source Code Highlighter.


Далее начнется отрисовка вашего элемента на Canvas.

Этот компонент я использовал в своем дипломе для отрисовки печатных плат. Все было здорово.

Самое главное достоинство этого компонента в том что у него есть скриптовый препроцессор, который позволяет рисовать элементы скриптами. Формат скрипта можно посмотреть на странице этого контрола. Что бы начать использование скрипта следут использовать элемент типа ScriptedItem.

Будут вопросы обращайтесь.
Tags:
Hubs:
Total votes 5: ↑3 and ↓2+1
Comments0

Articles