Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.31;
Скачать: CL | DM;

Вниз

Работа с компонентом Image   Найти похожие ветки 

 
Grant   (2005-07-11 11:52) [0]

Всем привет. Очень нужна Ваша помощь. Я с Delphi работаю довольно долго но с графикой не сталкивался. Мне надо сделать вот какую вещь: есть картинка (GIF или .jpg) и есть окно приложения; очень надо сделать так чтобы картинка плавно перемещалась по окну(например из одного угла в другой), то есть получалась как бы анимация. Это нужно сделать очень срочно поэтому искать и читать все подряд нет времени. Подскажите, пожалуйста, с помощью какого компонента и как можно это сделать(вроде с помощью Image), а если ещё и с примером, то вообще будет супер. Заранее огромная всем благодарность.


 
gydvin   (2005-07-11 12:15) [1]

begin
image1.left:=image1.left+1
end;


 
Grant   (2005-07-11 15:00) [2]

Спасибо за ответ. Но если так сделать(в цикле), то она перескакивает с места на место слишком быстро, а мне хотелось бы плавно. Задержки ставить не очень-то хочется.


 
gydvin   (2005-07-11 15:48) [3]

Тогда отрисовывай на канве формы. Допустим создаем bitmap заведомо с большим размером чем форма.

procedure TForm1.Button1Click(Sender: TObject);
var
b1,b2:tbitmap;
x:integer;
begin
b1:=tbitmap.Create;
b2:=tbitmap.Create;
b1.Width:=Width *3;
b1.Height:=Height *3;
for x:=0 to b1.Width do begin
b2.Assign(b1);
b2.Canvas.Brush.Color:=clred;
b2.Canvas.Ellipse(x,10,x+20,30);
canvas.StretchDraw(rect(0,0,Width,Height),b2);
sleep(10);
application.ProcessMessages
end;
b1.Free;
b2.Free;
end;


но код говорю сразу гниловастеньки, бывает и лучше, лишняя затрата ресурсов.


 
Virgo_Style ©   (2005-07-11 19:08) [4]

Перемещай не в цикле, а по таймеру.


 
Grant   (2005-07-12 10:42) [5]

Таймером перемещать получается нормально. Спасибо. Может быть ещё подскажите как избежать при этом мерцаний картинки?


 
MBo ©   (2005-07-12 13:17) [6]

как избежать при этом мерцаний
DoubleBuffered:=True
для формы(если Image лежит на ней)


 
Grant   (2005-07-12 14:28) [7]

Всем огромное спасибо за помощь.



Страницы: 1 вся ветка

Текущий архив: 2005.07.31;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
14-1121065517
by
2005-07-11 11:05
2005.07.31
Жилье в Киеве. Нужна помощь.


4-1117711004
Dok
2005-06-02 15:16
2005.07.31
Максимально скрыть процесс...


14-1121179919
Cosinus
2005-07-12 18:51
2005.07.31
Вопрос по WHS, VBS и другим языкам скриптов (из серии "можно ли")


14-1120538579
Магнум
2005-07-05 08:42
2005.07.31
Коэффициент умственного развития – «АйКью»


4-1117697038
Cosinus
2005-06-02 11:23
2005.07.31
Как опрделить по имени файла в "Избранном" адрес в Internet?