Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
6-25490
Кузнецова А.
2003-11-05 12:18
2004.01.09
Как получить подтверждение доставки


3-25181
visnuk
2003-12-08 12:43
2004.01.09
Кто работал с DBComboBox при работе с БД


7-25630
INTAARI
2003-10-29 11:39
2004.01.09
ReadFile не удается прочитать весь массив данных


3-25200
Stinger
2003-12-11 22:35
2004.01.09
курсоры Oracle


7-25628
Ev1972
2003-10-27 10:58
2004.01.09
Как программно определить путь к папке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский