|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.10.2010, 12:24 | #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. Причина: Ошибка в тексте |
25.10.2010, 12:49 | #12 |
Пользователь
Регистрация: 28.05.2010
Сообщений: 82
|
Ну, в этом случае всё равно придётся стирать ёлку на старом месте и копировать битмап на новое, проще изменять координаты TImage, а всю работу по стиранию и перерисовке возьмёт на себя операционная система
|
25.10.2010, 14:32 | #13 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
всё это ИМХО, разумеется... |
|
18.01.2011, 01:47 | #14 | |
Пользователь
Регистрация: 14.01.2011
Сообщений: 97
|
Цитата:
Код:
|
|
18.01.2011, 23:49 | #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 |