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

Вниз

Мерцания при прорисовки или большой объём файлов.   Найти похожие ветки 

 
EugenCFG   (2003-12-24 14:23) [0]

Вот два способа как я перемещаю одну bmp-шку поверх другой.

1) способ. Я загружаю в Image1 и Image2 две bmp (одна весо 3 мегабайта, другая пол соответственно). И на событие OnMouseMove
двигаю Image2, а Image1 остаётся нетронутый всё время.

Image2.Left:=x;
Image2.Top:=y;

Вот самый простой способ. Работает без каких-либо торможений, но здесь присутствуют мерцания.

2) способ. Загружаю Image1 (bmp весом 3 мегабайта). Image2 здесь вообще отсутствует. Затем я рисую вторую bmp поверх первой. Следующий код это показывает (здесь ещё белый цвет становится прозрачным)


GlassMap := TBitMap.Create;
GlassMask := TBitMap.Create;
GlassMap.LoadFromFile("Name.bmp");

with Image1.Picture.Bitmap.Canvas do
begin
CopyMode := cmSrcPaint;
Draw(X, Y, GlassMask);
CopyMode := cmSrcAnd;
Draw(X, Y, GlassMap);
end;


Нарисовал. А теперь на событие OnMouseMove двигаю Name.bmp. Если рисовать таким вот образом на каждое перемещение мышью останется след, поэтому надо стирать и рисовать заново. В процедуре FormMouseMove Я делаю так:

Image1.Picture.Bitmap.LoadFromFile("1.bmp"); //!!!!!

GlassMap.LoadFromFile("Name.bmp");

with Image1.Picture.Bitmap.Canvas do
begin
CopyMode := cmSrcPaint;
Draw(X, Y, GlassMask);
CopyMode := cmSrcAnd;
Draw(X, Y, GlassMap);
end;


Но файл весом в 3 мегабайта при постоянной загрузке не дает ожидаемого результата, "тормозит" как говорится. Перемещается не плавно и быстро, а скачками.

Если держать его постоянно в памяти (в буфере), что-нибудь измениться? Если да, то как это реализовать?

Может есть какие-то стандартные способы???

Спасибо.


 
VMcL ©   (2003-12-24 14:37) [1]

>>EugenCFG (24.12.03 14:23)

А если Image покласть на TPanel с DoubleBuffered = True, это спасет отца русской демократии?


 
EugenCFG   (2003-12-24 15:10) [2]

Конечно же да!

Спасибо!..



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
14-25573
Alexander Vasjuk
2003-12-16 12:52
2004.01.09
Хакеры - санитары софта?


1-25329
Olivka
2003-12-22 16:09
2004.01.09
Fastreport


14-25549
Driverrr
2003-12-19 16:10
2004.01.09
Текст на болванке


1-25293
Kair
2003-12-23 11:28
2004.01.09
auxDIBImageLoad();


14-25606
Style
2003-12-17 10:36
2004.01.09
Наша жизнь похожа на зебру не правда ли?