Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Скриншоты

Автор: vlad13 19.11.2006 19:02

Как в паскале в графическом режиме сделать скриншот??
PrintScreen не работает(получается белый экран)

Автор: volvo 19.11.2006 19:11

http://forum.pascal.net.ru/index.php?showtopic=4533

Берешь там bmp_plus, подключаешь его в Uses, и там, где тебе надо снять скриншот, ставишь вызов Save_Bmp с необходимыми тебе параметрами...

Автор: vlad13 19.11.2006 22:40

Цитата(volvo @ 19.11.2006 15:11) *

http://forum.pascal.net.ru/index.php?showtopic=4533

Берешь там bmp_plus, подключаешь его в Uses, и там, где тебе надо снять скриншот, ставишь вызов Save_Bmp с необходимыми тебе параметрами...


Так, понятно, но не всё...
Я подключил bmp_plus, а с какими такими параметрами должен быть вызов??

Автор: volvo 19.11.2006 23:02

Ну, например, если тебе нужен "снимок" всего экрана, то вот так:

save_bmp(0, 0, getmaxx, getmaxy, 'screen_1.bmp', 0); { <--- 0 для 256 цветного режима, 1 для 16-цветного }

Автор: vlad13 20.11.2006 0:18

Все получилось, спасибо огромное!
Только вот картинка была зеленая, а на скриншоте стала малиновой.
Мне это в принципе не очень важно, но все равно интересно почему?

Автор: habi 21.05.2008 4:36

А если используется только црт? т.е. никакой графики..одни окна
У меня почему-то гетмахх и гетмаху выдаёт 0 0 , а если задаю сам координаты, то создаётся чёрный экран, хоть шестой параметр 1 , хоть 0.
Печально

Автор: volvo 21.05.2008 4:47

Цитата
А если используется только црт? т.е. никакой графики..одни окна
тогда кто тебе мешает перевести приложение из полноэкранного (если оно в полноэкранном режиме, иначе вообще не вижу проблемы в снятии скриншота) в оконный (Alt+Enter)? Приведенный выше метод - только для режимов, инициализированных InitGraph-ом... Естественно, что если не был инициализирован граф. режим, то
Цитата
гетмахх и гетмаху выдаёт 0 0

Автор: habi 21.05.2008 5:05

В альтеентер и фоткал, вгонял разные значения гетмахх и гетмаху =)

 
save_bmp(0,0, 699, 387 ,'scr2.bmp',0);



Печально.

Автор: volvo 21.05.2008 5:14

Ты можешь толком сказать, в каком режиме у тебя запускается приложение? В полноэкранном? Тогда выйди из него в оконный режим через Alt+Enter, и сними обычным PrintScreen-ом + Paint, если сразу оконный режим - сразу и снимай... Вся суть метода с использованием Save_Bmp в том, что граф. режимы Турбо Паскаля не отображаются в оконном режиме, поэтому с ними надо работать из полноэкранного, причем PrintScreen не работает... У тебя-то в чем проблема? Почему не можешь перейти в оконный режим?

Автор: habi 21.05.2008 5:18

У меня принтскрин не может фотографировать активное приложение...паскаль. Из окноного и полноэкранного приложения.

Автор: volvo 21.05.2008 5:26

Хм... Alt+PrintScreen во время работы приложения. Вот результат:

Прикрепленное изображение

Что я делаю не так? unsure.gif

Автор: habi 21.05.2008 22:13

Проблема была, в том, что я сменил клавиатуру на старую, а в ней не работала кнопка, принтскрин.
Спасибо за участие в диалоге.