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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2014, 21:08   #1
nelo_001
Пользователь
 
Регистрация: 14.01.2013
Сообщений: 58
По умолчанию Чтобы не стирало ( графика)

Вот она главная функция , тут в таймере стирается прошлое положение эллипса , чтобы создать иллюзию полета , но вместе с шариком стираются и имеджи ,как сделать так , чтобы имеджи , не стирались ?
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var y:Integer;
begin
 
 
if x<x2 then Exit;
Canvas.Brush.Color:=Color;
Canvas.FillRect(Canvas.ClipRect);
y:=Round(a*x*x+b*x+c);
Canvas.Brush.Color:=Color;
Canvas.Ellipse(x,y,x+5,y+5);
procABC(x1,x2,x3,y1,y2,y3,a,b,c);
for i:=x1 downto x2 do Canvas.Pixels[i,Round(a*i*i+b*i+c)]:=clRed;
 
x:=x-10;
 
 
end;


Последний раз редактировалось Stilet; 11.10.2014 в 12:23.
nelo_001 вне форума Ответить с цитированием
Старый 10.10.2014, 21:17   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Repaint есть у Image
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.10.2014, 22:26   #3
nelo_001
Пользователь
 
Регистрация: 14.01.2013
Сообщений: 58
По умолчанию

Отлично можно как ни будь решить проблему бликов изображения ?
DoubleBuffered := True; не помогает
nelo_001 вне форума Ответить с цитированием
Старый 11.10.2014, 07:35   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

не используй TImage, он не предназначен для рисования.
Изображения
Тип файла: jpg _screen.jpg (79.9 Кб, 36 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 11.10.2014 в 11:19.
min@y™ вне форума Ответить с цитированием
Старый 11.10.2014, 11:16   #5
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Надо делать примерно так, как описано вот тут.
http://programmersforum.ru/showthread.php?t=189572
Т.е. буфер, на него каждый раз (в таймере) рисуем всё заново (т.к. надо чистить FillReсt'ом), и в конце только сам буфер рисуем на форму. Имейджи и прочие контролы можно не использовать, но есть и с ними варианты.
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тема:Модуль граф,-нужно чтобы получилась фигура и чтобы она двигалась Gulnaz379 Помощь студентам 6 27.10.2012 17:38
Графика в Delphi - чтобы кораблик доходил до определенного места и начинал двигаться обратно Alexa555 Помощь студентам 3 14.10.2012 03:21
Надо чтобы на одной оси координат отображались два графика разным цветом Toxy Паскаль, Turbo Pascal, PascalABC.NET 7 21.04.2012 14:49
как сделать так,чтобы он левой рукой до стены коснулся? и если можно чтобы двери лифта закрылись maxon56 Паскаль, Turbo Pascal, PascalABC.NET 0 07.06.2011 18:46
Графика в Delphi - чтобы самолет делал мертвую петлю Alexa555 Помощь студентам 4 08.04.2011 08:41