![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
![]()
Тестирую фрагмент кода, в дальнейшем подгоню в мою программу.
Данный "код" призван решить проблему стирания предыдущей линии перед отрисовкой новой, но без перерисовки всего изображения, т.к. оно не маленькое. По не понятным мне причинам он соизволил не выполнять возложенные на него обязанности )) Код:
Совсем забыл, на канве есть GDI-рисунок: Код:
даешь высокое напряжение
Последний раз редактировалось Vova777; 22.05.2012 в 20:32. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 05.04.2010
Сообщений: 410
|
![]()
а что за функция Bounds(...)? Она возвращает структуру типа TRect?
ICQ: 593-013-807
|
![]() |
![]() |
![]() |
#3 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
![]()
Функция Bounds передаёт координаты вершин объекта типа TRect (прямоугольник). Указываются 2 вершины - правая верхняя и левая нижняя.
даешь высокое напряжение
Последний раз редактировалось Vova777; 22.05.2012 в 20:22. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 05.04.2010
Сообщений: 410
|
![]()
если я правильно понял, то суть вашего кода заключается в том, чтобы копировать не все изображение, а только ту его прямоугольную часть, которая определяется прямоугольником из двух точек (xldl, yldl, x, y), где xldl и yldl - это начало отрезка, а x,y - его окончание. Таким образом стирается предыдущая линия. Компонент Image2 должен хранить изображение из Image1, но без прорисованной линии.
Код:
Пытаетесь реализовать алгоритм резиновой линии?
ICQ: 593-013-807
|
![]() |
![]() |
![]() |
#5 | ||
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
![]() Цитата:
Цитата:
Да, вы правы. Мне кажется вариант с хранением копии в буферном TBitMap больше всего мне подходит по ряду объективных причин.
даешь высокое напряжение
Последний раз редактировалось Vova777; 22.05.2012 в 22:11. |
||
![]() |
![]() |
![]() |
#6 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Не пойму, чего Вы паритесь.
Создали битмап с картинкой, написали функцию отрисовки в которой на имейдж сперва рисуется битмап (либо его фрагмент копиректеный) потом если включен флаг рисования линии - рисуется и линия канвасом по 2 точкам. обработчик маусдаун - включить флаг и запомнить начало линии, обработчик маусап - выключить флаг, обработчик маусмув - запомнить коорды курсора как конечную точку и вызвать перерисовку. обработчик онпаинт формы - просто вызвать перерисовку всё. а у вас 5 тем небось уже |
![]() |
![]() |
![]() |
#7 | |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
![]() Цитата:
даешь высокое напряжение
|
|
![]() |
![]() |
![]() |
#8 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Внимательно - не вижу там битмапов, только имейджи.
Потом там аж 2 копиректа. Мои же слова только о битмапе и 1 копиректе. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проблема с Canvas.Draw | Nater | Общие вопросы Delphi | 5 | 27.08.2010 12:45 |
Проблема с нарисованием чертежа з использованием canvas | akaMisHka | Помощь студентам | 1 | 09.05.2010 14:04 |
Проблема с рисованием на canvas`e Timage (Delphi) | Dalagardi | Помощь студентам | 9 | 25.03.2010 20:55 |
Canvas.CopyRect DELPHI Что и как... | 08ekhiv1 | Помощь студентам | 1 | 09.06.2009 08:25 |
проблема копирования из image.canvas в переменную TBitMap | h4muk | Мультимедиа в Delphi | 2 | 27.02.2009 09:44 |