|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.04.2015, 09:17 | #1 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
Ребят, привет, есть вопрос, как на canvas отрисовать логические блоки, со знаками (и, или), затем исходя из рассчитанной таблицы истинности связать эти блоки так, чтоб было соответствие, плюс к некоторым пририсовать кружки, отображающие отрицание.
Далее интересно знать подходит ли для этого компонент timage, если рядом кнопки +,-, чтоб врисовывалась вся схема. Релевантнее как-то циклом пройтись по всем квадратам, и уменьшить/увеличить размер. Возможно ли создать массив? Если да, то какого типа? На канвас было отведено два занятия , особого значения ему не придал. Не думал что буду графикой заниматься. При этом писали подобие point на timage. С хранением можно использовать массив tbitmap, туда же и логику, но как разместить в нужном порядке и соединить линиями?
from dark to light)
Последний раз редактировалось Аватар; 18.04.2015 в 09:53. |
18.04.2015, 10:34 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А ты не пробовал почитать в хелпе список методов TCanvas? Там есть и методы рисования линий типа Line() и прямоугольники Rectangle() и другие примитивы.
I'm learning to live...
|
18.04.2015, 10:47 | #3 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
модель -- набор классов ( и МАССИВ/список/... экземпляров данных классов) чтобы ХРАНИТЬ информацию о логических блоках.
представление -- отрисовка на Canvas всей или части ИМЕЮЩЕЙСЯ (хранящейся) информации изо всех или нужных экземпляров классов логических блоков. управление -- использование кнопок +/- для модификации модели (данных хранящихся в экземплярах классов) с целью получить нужное представление (изображение).
программа — запись алгоритма на языке понятном транслятору
|
18.04.2015, 11:53 | #4 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
а управление можно реализовать и эффективнее не через написание нового метода своего класса, а через изменение ширины/высоты каждого элемента tbitmap и перерисовки?
from dark to light)
|
18.04.2015, 15:08 | #5 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
модель = информация о логическом блоке включая примитив для его рисования (Tbitmap) если он нужен, ну и прочее что будет нужно.
И его совсем не обязательно копировать полностью, достаточно иметь ссылку на место в общем "архиве" примитивов. (что-то вроде ImageList и использовать (хранить) его индекс).
программа — запись алгоритма на языке понятном транслятору
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отрисовка и формы | Mefgalm | C# (си шарп) | 1 | 07.08.2013 11:09 |
Масштабирование на Canvas | серофим | C++ Builder | 0 | 28.11.2012 23:25 |
По пиксельная отрисовка | Evgenuych96 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 23.11.2012 19:35 |
QT4. Динамическая отрисовка. Как? | jojahti | Qt и кроссплатформенное программирование С/С++ | 6 | 18.08.2009 11:14 |
Отрисовка компонентов | Dr.Badnezz | Компоненты Delphi | 1 | 04.01.2009 16:50 |