![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 14.09.2010
Сообщений: 37
|
![]()
Советую как человек, который недавно сдавал лабораторки по этой ерунде
![]() Рисовать через Image и Shape - заставить на старых компах мигать экран(((( Рисовать надо на рисунок *.BMP в памяти...Обьявляем: Var BitMap:TBitMap //Содержится в модуле Graphics При событии OnCreate пишем BitMap:=TBitMap.Create При OnResize: BItMap.WIdth:=ClientWidth BitMap.Height:=ClientHeight При OnDestroy: BitMap.Free Рисуем нужный рисунок на обьекте BitMap.Canvas Нарисовать же треугольник (или любой многоугольник) можно процедурой BItMap.Canvas.Polygon(A:Array of TPoint); Тут уже элементарно, но все-равно обьясню: Для каждого треугольника создоаем переменную var A1:Array of TPoint И где-то в коде заполняем ее SetLength(A,3); A[0].X:= A[0].Y:= A[1].X:= A[1].Y:= A[2].X:= A[2].Y:= //Заполняем координатами вершин... В процедуре Polygon автоматически многоугольник закрашивается. Цвет закраски можно установить так: BitMap.Canvas.Brush.Color:=clRed//Красный цвет закраски Потом по событию OnPaint (желательно именно там) пишем Form1.Canvas.Draw(0,0,BitMap) //Выносим наш рисунок на экран Таким образом, с экраном мы работаем один раз, а не сотней команд MoveTo - мигания не будет ![]() Последний раз редактировалось Я_и; 23.10.2010 в 12:28. Причина: Ошибка в тексте |
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 28.05.2010
Сообщений: 82
|
![]()
Ну, в этом случае всё равно придётся стирать ёлку на старом месте и копировать битмап на новое, проще изменять координаты TImage, а всю работу по стиранию и перерисовке возьмёт на себя операционная система
|
![]() |
![]() |
![]() |
#13 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
всё это ИМХО, разумеется... |
|
![]() |
![]() |
![]() |
#14 | |
Пользователь
Регистрация: 14.01.2011
Сообщений: 97
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#15 |
Лжец и смутьян
Форумчанин
Регистрация: 03.04.2009
Сообщений: 194
|
![]()
WhiteSpirit, вы в корне не правы. Не разбирая подробностей - лучше отрисовывать изображение на объекте класса TBitMap, а затем выводить BitMap на форму. Класс TImage использует слишком много ресурсов. Может, если делать просто программы с иллюстрациями - он лучше, но для анимаций и игр - никак не вариант.
Помогли тебе - помоги другому.
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
анимация в delphi 7 | Ignessa | Общие вопросы Delphi | 19 | 15.06.2010 00:33 |
Анимация в Delphi | Haskell | Помощь студентам | 0 | 06.12.2009 12:27 |
Анимация, Delphi | xMass | Помощь студентам | 9 | 21.06.2009 18:17 |
Анимация Delphi | elta | Помощь студентам | 20 | 21.06.2009 16:55 |
Анимация в Delphi | yulia | Помощь студентам | 7 | 29.11.2007 16:55 |