Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 2, 2009 15:41:49

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Играем с монитором на WinXP

Может кто-нибудь знает в какую сторону копать, чтобы программно сделать с монитором следующее:
зеркально отобразить содержимое,
повернуть на x градусов… и собственно другое в таком же духе.

При чем именно программно, то есть без использования драйверов.



Офлайн

#2 Окт. 29, 2009 18:35:47

dvs
От:
Зарегистрирован: 2006-05-22
Сообщения: 176
Репутация: +  3  -
Профиль   Отправить e-mail  

Играем с монитором на WinXP

http://code.activestate.com/recipes/496853/ ,
затем получаем данные из буфера,
пошла математика (PIL?),
вывод результата на экран

примерно как-то так



Офлайн

#3 Окт. 29, 2009 18:43:12

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Играем с монитором на WinXP

Не-не-не, вопрос не в том, чтобы делать скриншоты, а в том чтобы повернуть экран, и дальше человек продолжал работать в таком режиме, ну, тупо экран повернут на 90 градусов, очень сного перерыл MSDN'а, есть там WINAPI функция для этого дела, но она работает только на мобильных виндовых платформах, есть еще одна платная софтина, (забыл уже…), вообщем пока эту хрень закинул… убив неделю времени…



Офлайн

#4 Окт. 29, 2009 18:47:03

dvs
От:
Зарегистрирован: 2006-05-22
Сообщения: 176
Репутация: +  3  -
Профиль   Отправить e-mail  

Играем с монитором на WinXP

Офлайн

#5 Окт. 29, 2009 18:49:26

dvs
От:
Зарегистрирован: 2006-05-22
Сообщения: 176
Репутация: +  3  -
Профиль   Отправить e-mail  

Играем с монитором на WinXP

Офлайн

#6 Окт. 29, 2009 18:51:19

dvs
От:
Зарегистрирован: 2006-05-22
Сообщения: 176
Репутация: +  3  -
Профиль   Отправить e-mail  

Играем с монитором на WinXP

regall
сорри, не понял сразу, успел наспамить :)



Офлайн

#7 Окт. 29, 2009 18:59:43

dvs
От:
Зарегистрирован: 2006-05-22
Сообщения: 176
Репутация: +  3  -
Профиль   Отправить e-mail  

Играем с монитором на WinXP

DEVMODE dm;
dm.dmSize=sizeof(DEVMODE);
dm.dmDriverExtra=0;
EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&dm);
dm.dmDisplayOrientation=DMDO_90;
DWORD temp=dm.dmPelsHeight;
dm.dmPelsHeight=dm.dmPelsWidth;
dm.dmPelsWidth=temp;

LONG ret;
ret=ChangeDisplaySettings(&dm,0);
?



Офлайн

#8 Окт. 29, 2009 19:03:24

dvs
От:
Зарегистрирован: 2006-05-22
Сообщения: 176
Репутация: +  3  -
Профиль   Отправить e-mail  

Играем с монитором на WinXP

regall
у меня такая софтина шла вместе с монитором..

или цель больше поиграться/покодить?



Офлайн

#9 Окт. 29, 2009 19:32:33

dvs
От:
Зарегистрирован: 2006-05-22
Сообщения: 176
Репутация: +  3  -
Профиль   Отправить e-mail  

Играем с монитором на WinXP

http://pypi.python.org/pypi/jaraco.windows может потом пригодится

```jaraco.windows aims to provide a pure-python interface to Windows APIs using ctypes. This package is not designed to be exhaustive, but rather to supply interfaces as they are needed by the contributors.```



——————
http://www.pyglet.org/

pyglet provides an object-oriented programming interface for developing games and other visually-rich applications for Windows, Mac OS X and Linux.



Отредактировано (Окт. 29, 2009 19:42:16)

Офлайн

#10 Окт. 29, 2009 19:48:41

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Играем с монитором на WinXP

dvs
DEVMODE dm; 
dm.dmSize=sizeof(DEVMODE);
dm.dmDriverExtra=0;
EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&dm);
dm.dmDisplayOrientation=DMDO_90;
DWORD temp=dm.dmPelsHeight;
dm.dmPelsHeight=dm.dmPelsWidth;
dm.dmPelsWidth=temp;
LONG ret;
ret=ChangeDisplaySettings(&dm,0);
Такое у меня не работает, это рабоитает только на мобильных платформах и некоторых ноутбуках нажатием Ctrl + стрелка.



Отредактировано (Окт. 29, 2009 19:49:12)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version