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

Вниз

Как избавиться от мигания Image?   Найти похожие ветки 

 
PlaZZma ©   (2002-03-29 16:52) [0]

Я уже наверное надоел, но при изменении содежимого Image(компонент) или его перемещении картинка неприятно мигает, а мне нужно быстро выводить анимационную последовательность. Можно ли от этого избавиться, если да, то как именно, а если нет, то каким ещё способом можно выводить на экран всякого рода картинки?


 
MBo ©   (2002-03-29 17:00) [1]

Doublebuffered.
иногда можно рисовать в bitmap в памяти и копировать Draw


 
MAxiMum ©   (2002-03-29 17:02) [2]

Мигает она потому, что при движении курсора мыши вызывается сообщение WM_PAINT, которое заставляет перерисовывать изображение. Советую написать свой компонент, который не будет использовать данное сообщение. А будет зависеть от других сообщение, например, если мышь над компонентом и сдвинулась с места, то следует перерисовать лишь тот маленький кусочек, где была мышь и т.д.
О результатах прошу написать.


 
PlaZZma ©   (2002-03-29 17:04) [3]

MBo!
Плиз, объясни поподробнее, желательно кодом!
Заранее благодарен.


 
PlaZZma ©   (2002-03-29 17:08) [4]

MBo!
Плиз, объясни поподробнее, желательно кодом!
Заранее благодарен.


 
PlaZZma ©   (2002-03-29 17:12) [5]

2 MAxiMum:
Дело в том, что мигает он и во время перемещенмя мыши, и когда она на месте. Мигает он, когда я меняю изображение и когда меняю координаты компонента.


 
MBo ©   (2002-03-29 17:13) [6]

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
doublebuffered:=true;//без этого моргает
for i:=1 to 100 do begin
image1.Picture.Loadfromfile("e:\4.bmp");
sleep(20);
refresh;
end;
end;

если нужно многократно выполнять рисование, при необходимости делают так

b:=TBitmap.create;
b.width:=100;
b.height:=100;

b.canvas. ... здесь все рисуем

в конце
Canvas.Draw(30,30,b);//копирует на форму


 
PlaZZma ©   (2002-03-29 22:30) [7]

Спасибо огромотнейшее



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
3-32665
tovSuhov
2002-03-20 12:05
2002.04.11
Oracle Pipes


1-32762
SergeySh
2002-03-26 20:13
2002.04.11
ПОМОГИТЕ!


6-32930
OlegR
2002-01-29 13:18
2002.04.11
E-mail на ICQ


14-32951
Пользователь
2002-03-04 09:53
2002.04.11
PHP & Interbase


4-33006
HardTouch
2002-02-11 02:55
2002.04.11
Как определить нахождение каталогов Windows, Мои документы, Рабочий стол и т.д.