Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отображение двумерного массива максимально быстро [D5, Win95/98, WinME, NT4, Win2k, WinXP]


Mihon from Haba ©   (2002-11-29 18:25:00) 

Приветствую Вас мастера. Проблемма в следующем - имеется двумерный битовый массив ("черно-белый"), его нужно максимально быстро показать юсеру (или преобразовать в BitMap). Неважно на чем, не важно как, самое главное БЫСТРО. А он зараза большой (~2000*~2000). Времени не больше секунды. Заранее благодарен за помощь.


Mihon from Haba   (2002-11-30 18:47:00) [1]

Огромное всем спасибо, если честно не ожидал такой активности. Приятно удивлен.


VladimirVasilyev   (2002-11-30 10:28:00) [2]

DirectX:
1.IDirectDrawSurface7::Lock
2.DDSURFACEDESC.lpSurface получаешь адрес памяти поверхности.
3.копируешь по этому адресу свои данные
4. UnLock
5. BltFast
6. Flip



MBo   (2002-11-29 18:30:00) [3]

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


Mihon from Haba   (2002-11-29 18:30:00) [4]

в массиве храняться true - "белый" и false - "черный"


MBo   (2002-11-29 18:29:00) [5]

SetDiBitsToDevice - сразу на canvas или SetDiBits - в битмап.
кроме массива, заполни еще структуру tbitmapinfo


LongIsland   (2002-11-29 18:27:00) [6]

Массив ЧЕГО?


Наверх

Титульная страница Поиск, карта сайта Написать письмо