Показать сообщение отдельно
Старый 28.11.2007, 01:36   #7
oxid
Нуждающийся
 
Регистрация: 20.08.2006
Сообщений: 54
Написано 3 полезных сообщений
(для 4 пользователей)
Re: ReadPixel , PixMaps, Снимок экрана

Если нужен постэффект типа блюра или размытия картинки, он делается на основе работы с CLS:
0 - CLS
1 - рисуем сцену (с прозрачностью в .5)
2 - рисуем сцену со смещением и прозрачность .5
3 - флип, переход на 0
Пунктов 1,2 может быть разное количество, в зависимосте от него подбираешь альфу.
Так будет рисоваться быстрее - не будет тормозной операции GrabImage

хинт 2: вместо CLS можно использовать отрисовку моноцветной картинки с нужным цветом - ускорение.

хинт 3: для экономии памяти куртинку для затычки CLS можно сделать из одного пикселя и скалить ее под размер окна, а не делать целый пиксмап под его размер.

Убыстрить снимок с экрана можно только очень сложным способом (теоретически) - написать в асме оптимизированный код. Для грабинга используется стандартный функционал ДХ, т.е. - это не косяк БМ, а тормоза ДХ. Можно немного оптимизировать работу ДХ, вызвав вместо BitBlt FastBlt в самой процедуре GrabPixmap. (параметры поменять не забудь).

--
гы надо-же раздел по БМ открыли а я токо заметил
ничо что я так поздо - думаю поможет все-же
(Offline)
 
Ответить с цитированием