![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.01.2015
Сообщений: 29
|
![]()
Я делаю графический редактор и столкнулся с такой проблемой. Мне надо повторить функцию линии пеинта. Объясните как добиваются такого эффекта(то есть я нажал на место формы один раз и линия будет следовать за курсором пока не нажму второй раз). У меня вышло сделать так, но приходится после каждой линии закрашивать фон, а мне надо, что бы закрашивалась лишь последняя линия.
Основной вопрос = Как закрашивать саму линию? Код прорисовки линии Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Закрашивать то предыдущую можно прорисовав её цветом фона. А если линия поверх чего-то ранее прорисованного идет, тогда как?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 11.01.2015
Сообщений: 29
|
![]()
Вот и я хочу понять как закрашивать саму линию, не трогая уже нарисованное. Можешь сказать как линию просто зарисовать цветом фона( не сам фон, а линию?
Последний раз редактировалось Khad515; 11.01.2015 в 22:26. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Перу цвет фона и рисуй. Но все что под линией тоже этим цветом выкрасится. Обычно все прорисовывают по-новой. Как вариант элементы рисунка сделать объектами, каждый сам себя прорисовывает, в нужной последовательности само собой
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 11.01.2015
Сообщений: 29
|
![]() Цитата:
Ну и вот почему я спрашивал. Я хочу что бы следа не было, что бы когда я вожу линией за ней не прорисовывались еще одни линии. То есть мне надо, что бы я нарисовал линию, а при след. выполнении события MouseMove прошлая линия закрашивалась, и прорисовывалась другая линия Последний раз редактировалось Khad515; 11.01.2015 в 23:39. |
|
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
![]() Цитата:
Нужно почаще "смотреть под ноги" - ответы на львиную долю вопросов находятся у вас на компьютере, в каталоге Demos... ![]() |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 11.01.2015
Сообщений: 29
|
![]()
Ну я то нашел исходники... но вот понять алгоритм не могу. В демке используются собственно созданные процедуры + демка не запускается(. Может кто объяснить, как сделать?
Последний раз редактировалось Khad515; 12.01.2015 в 15:15. |
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
![]() Цитата:
Какие "собственно созданные процедуры"? ![]() Вам интересны всего три процедурки - FormMouseDown, FormMouseMove и FormMouseUp... Что в них такого супер-пуперского и непонятного??? P.S. Да, а самая вам интересная процедура - DrawShape... Последний раз редактировалось kropotkina-alice; 12.01.2015 в 14:35. |
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 11.01.2015
Сообщений: 29
|
![]() Цитата:
демка не запускается, но я могу просмотреть код. Да, я не могу понять как работает эта процедура, вообще как выполняется этот алгоритм линии. Можете рассказать? Последний раз редактировалось Khad515; 12.01.2015 в 15:18. |
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 11.01.2015
Сообщений: 29
|
![]()
Короче. Я сделал через доп. имейдж. Линию рисовал на доп. image(который находится над основным image и имейдж доп. - прозрачный). В общем работает зашибись, но есть 1 минус.
Незнаю как обьяснить. Когда рисуешь линию на прозрачном доп. image, фон который находится под дополнительным(то есть основной как бы вылазит поверх прозрачного(тоесть полосы появляются при движении, незнаю как еще обьяснить). Герой который меня понял, отзовись) |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Закраска ячеек в гриде | cL1zMa | Общие вопросы Delphi | 2 | 07.10.2014 13:30 |
Закраска строк в Tstringgrid | Алексей_2012 | Общие вопросы Delphi | 5 | 15.12.2013 21:24 |
Закраска диаграммы | armagedon_atyrau | Microsoft Office Excel | 0 | 15.06.2010 12:48 |
Закраска | Chyvis | Помощь студентам | 0 | 13.01.2010 09:31 |