Текущий архив: 2004.12.05;
Скачать: CL | DM;
ВнизКак быстро передвинуть Image? Найти похожие ветки
← →
bulanov (2004-11-24 04:07) [0]Подскажите пожалуйста как разрешить следующую проблему:
мне необходимо (с шагом 1-2 пикселя) двигать картинку на форме (допустим слева-направо), причем очень быстро. Как бы я не пытался это осуществить у меня ничего не выходит, двигается слишком медленно (и просто двигал, и перерисовывал на канву по указанным координатам и копировал). Увеличение шага сдвига приводит к тому, что при выполнении еще каких-либо задач приложением, картинка при перемещении начинает жутко искажаться.
← →
ЮЮ © (2004-11-24 04:19) [1]>(с шагом 1-2 пикселя) очень быстро.
определись: с шагом или быстро :)
скорость = пикселм в секунду. шаг должен зависить от того, сколько времени прошло к моменту очередной перерисовем
← →
bulanov (2004-11-24 04:27) [2]400 пикселей в секунду
← →
Defunct © (2004-11-24 04:30) [3]Кнопкой запускается, той же кнопкой и останавливется.
procedure TForm1.Button1Click(Sender: TObject);
var
Bmp : TBitmap;
i : Integer;
begin
if TButton(Sender).Tag > 0 then TButton(Sender).Tag := 0 else
begin
Bmp := TBitmap.Create;
with TButton(Sender) do
Try
Tag := 1;
Try
bmp.LoadFromFile("C:\Test.bmp"); // <-- Ваш рисунок
Canvas.Pen.Color := Color;
i := Self.Width - bmp.Width;
while Tag>0 do
begin
dec(i);
if i < - bmp.Width then i := Self.Width - bmp.Width;
Canvas.Draw(i, 20, bmp);
Canvas.MoveTo( i + bmp.Width, 20);
Canvas.LineTo( i + bmp.Width, 20 + bmp.Height );
Sleep(2);
Application.ProcessMessages
end
except
On E:Exception do ShowMessage( E.Message )
end
finally
Bmp.Free
end
end
end;
← →
bulanov (2004-11-24 04:39) [4]не совсем то что нужно,
я написал что нужна скорость пикселей 400 в секунду, а этот пример рисует в 6 раз меленнее.
если увеличиваю шагdec(i);
начинаются искажения.
← →
Defunct © (2004-11-24 04:41) [5]bulanov (24.11.04 04:39) [4]
Уберите Sleep.
Sleep регулирует скорость перемещения.
← →
Defunct © (2004-11-24 04:43) [6]> я написал что нужна скорость пикселей 400 в секунду
эх.. я же понятия не имею, что есть для вас скорость 400 пикселей в секунду...
← →
bulanov (2004-11-24 04:48) [7]ой, блин не заметил =-))))
спасибо.
Страницы: 1 вся ветка
Текущий архив: 2004.12.05;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.04 c