Як позбутися від миготіння Image?
Я вже напевно набрид, але при зміні содежімого Image (компонент) або його переміщенні картинка неприємно блимає, а мені потрібно швидко виводити анімаційну послідовність. Чи можна від цього позбутися, якщо так, то як саме, а якщо немає, то яким ще способом можна виводити на екран будь-якого роду картинки?
Doublebuffered.
іноді можна малювати в bitmap в пам'яті і копіювати Draw
Блимає вона тому, що при русі курсору миші викликається повідомлення WM_PAINT, яке змушує перемальовувати зображення. Раджу написати свій компонент, який не буде використовувати дане повідомлення. А буде залежати від інших повідомлення, наприклад, якщо миша над компонентом і зрушила з місця, то слід перемалювати лише той маленький шматочок, де була миша і т.д.
Про результати прошу написати.
MBo!
Плиз, поясни детальніше, бажано кодом!
Заздалегідь вдячний.
MBo!
Плиз, поясни детальніше, бажано кодом!
Заздалегідь вдячний.
2 MAxiMum:
Справа в тому, що блимає він і під час перемещенмя миші, і коли вона на місці. Блимає він, коли я міняю зображення і коли міняю координати компонента.
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); // копіює на форму