Какой язык вы бы выбрали для создания интерфейса для векторного рисования? - PullRequest
0 голосов
/ 13 октября 2011

У меня есть проект настольного приложения, который включает компонент рисования. Базовый язык еще не выбран.

Действия, необходимые для рисования следующие:

  • Укажите и нажмите, чтобы нарисовать палки и кривые.
  • Галерея фигур для добавления.
  • Выбор компонентов и редактирование их свойств (толщина, длина, метаданные)

Все, что я могу думать, это SVG + Javascript, так как раньше я работал в Интернете. И мне хотелось бы иметь более широкую точку зрения, больший выбор.

Пожалуйста, не спорьте о том, какой язык является теоретически лучшим. Вместо этого расскажите историю: какую из них вы использовали, для какого проекта, и что казалось вам легким или трудным.

Спасибо, что поделились своим опытом:)

Ответы [ 3 ]

1 голос
/ 13 октября 2011

Учитывая требование, я бы использовал только один язык: Tcl.Библиотека виджетов Tk имеет отличный виджет холста, который основан на векторах и очень прост в использовании.Он основан на событиях, поэтому он очень похож на javascript с точки зрения программирования пользовательского интерфейса.

Вот код для рисования линий типа "укажи и нажми":

Во-первых, создание холста просто:

canvas .c
pack .c

Теперь код для рисования линий и щелчка:

set currentObject ""

set line {
  set ::currentObject [.c create line %x %y %x %y]

  bind . <Motion> {
    .c coords $currentObject [list %x %y %%x %%y]
  }
}

Теперь свяжите код рисования линий с событием mousedown:

bind . <ButtonPress-1> $line

Просто не забудьте обработатьсобытие mouseup также:

bind . <ButtonRelease-1> {
  bind . <Motion> {}
}

Это примерно дюжина строк кода.Это еще одна причина, по которой я обычно обращаюсь к Tcl для такого рода вещей: он позволяет вам многое делать с очень небольшим количеством кода.

0 голосов
/ 13 октября 2011

WPF - это все графические элементы, включая векторы.

0 голосов
/ 13 октября 2011

Конечно, есть язык программирования Logo . Это звучит как шутка, и на самом деле, я сначала подумал об этом как о шутке, но вы можете найти какое-то применение для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...