СообЧа > База Знаний > Программирование > Delphi

Вопрос

Мне надо сохранить содержимое экрана ,например, в bmp-ху. Все нормально сохраняется, если на экране не идет фильм, тогда сохраняется просто черный экран. (Даже если при просмотре фильма нажать ПринтСкрин, все равно сохранится черный экран). Это из-за аппататного ускорения. Можно это как-то обойти или отключть это ускорение?

Ответ

Ты, поди, еще BitBlt с GetDC(GetDesktopWindow) делаешь? Тебе, естественно, копируется битмапка с цветом, близким к черному (не $xx000000). Так реализованы в DirectX Layer'ы.

Чтобы не перерисовывать тормозной Device Context там пиксели одного и того же цвета (как раз того, который ты получил на битмапке) подменяются драйвером на пиксели Layer'а. Поэтому RTFM MSDN, Video Capture, как минимум.

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация