Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2009, 18:17   #1
Jai
Новичок
Джуниор
 
Регистрация: 12.05.2009
Сообщений: 2
Восклицание Canvas

Дан ректангл залитый жёлтым фоном:
form1.canvas.rectangle(x,y,x1,y1)


Я хочу нарисовать внутри этого ректангла движущийся шарик, так что бы он отбивался от его(ректангла) краёв.... При рисовании с помощью
form1.canvas.ellipse(a,b,c,d), когда я закрашиваю старый шар цветом фона и рисую новый(эффект анимации) у меня остаётся на прежнем месте контур эллипса....

Подскажите как это убрать. Или может алгортм кто знает ? Очень нужно, срочно....
Jai вне форума Ответить с цитированием
Старый 12.05.2009, 18:23   #2
Juffin
Форумчянин
Форумчанин
 
Аватар для Juffin
 
Регистрация: 05.04.2009
Сообщений: 446
По умолчанию

надо сначала заново нарисовать прямоугольник, а потом рисовать новый эллипс
Nobody expects Spanish Inquisition!
Juffin вне форума Ответить с цитированием
Старый 12.05.2009, 18:28   #3
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Код:
Image1.Canvas.Pen.Color:=clYellow;
Levsha100 вне форума Ответить с цитированием
Старый 12.05.2009, 18:52   #4
Jai
Новичок
Джуниор
 
Регистрация: 12.05.2009
Сообщений: 2
По умолчанию

спасиб, помогло)

Люди, знает кто-нибудь как по другому анимацию движения на канвасе сделать?

Последний раз редактировалось Stilet; 15.05.2009 в 13:19.
Jai вне форума Ответить с цитированием
Старый 14.05.2009, 20:49   #5
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Только перекрашиванием всей канвы.
Если вы хотите чтобы анимация была без мерцания изображения, надо использовать OpenGL или DirectX...
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 14.05.2009, 21:03   #6
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Есть вариант рисовать в буфере, а потом копировать с буфера на канву...
Levsha100 вне форума Ответить с цитированием
Старый 14.05.2009, 21:07   #7
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

А, ну да, DoubleBuffered, это тоже может помочь
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 15.05.2009, 13:11   #8
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

To JaiCоветую почитать это :http://www.programmersforum.ru/showthread.php?t=45082
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RichEdit и Canvas nusik Общие вопросы Delphi 4 17.04.2009 09:16
работа с CANVAS BuT@JL Помощь студентам 6 30.11.2008 22:18
StringGrid Canvas Djaconda Общие вопросы Delphi 4 21.10.2008 23:27
Подключение Canvas Zeraim Общие вопросы Delphi 4 13.05.2008 20:51
Canvas Zven Общие вопросы Delphi 9 06.12.2007 10:40