Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
64 / 20 / 1
Регистрация: 29.07.2012
Сообщений: 151

Повернуть дисплей монитора на 180 градусов

05.09.2012, 23:22. Показов 3052. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, понадобилось вот развернуть дисплей монитора на 180 градусов.
Так вот думаю есть же какой то api для таких штучек, не подскажите какой? Хотя бы название а там я сам разберусь.
буду очень благодарен за помощь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.09.2012, 23:22
Ответы с готовыми решениями:

Как можно повернуть изображение на 'n' градусов?
Как можно повернуть изображение на 'n' градусов?

Повернуть текст на 90 градусов при выводе на печать (на принтер) в VB6
Всем привет! Нужна помощь в выводе на печать средствами VB6. Мне нужно располагать строки на странице как горизонтально, так и...

Повернуть матрицу на 180 градусов.
Добрый вечер уважаемые программисты... Помогите решить матрицу, у меня небольшой завал ( Дана квадратная матрица A порядка M....

7
 Аватар для Danila_Bagrov
-12 / 31 / 4
Регистрация: 22.09.2012
Сообщений: 116
22.09.2012, 19:00
если поможет, то вот пример на C# MSDN
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
22.09.2012, 22:03
Цитата Сообщение от brifing Посмотреть сообщение
есть же какой то api для таких штучек, не подскажите какой?
Есть такая штука. Но как говорится в MSDN, это работает только если в драйвере поддерживается стандартный механизм поворота дисплея. Иначе поворот можно осуществить только при помощи утилиты производителя видеокарты ( для того они и пишутся, чтобы юзер пользовался). У меня не поддерживается, но может кому и повезет
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Const DMDO_90 = 1
Const DMDO_180 = 2
Const DMDO_270 = 4
Const ENUM_CURRENT_SETTINGS = -1
Const CCFORMNAME = 32
Const CCDEVICENAME = 32
 
Private Type DEVMODE
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
 
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwFlags As Long) As Long
Dim OldX As Long, OldY As Long, nDC As Long
Dim DevM As DEVMODE, erg As Long, temp As Long
Private Sub Command1_Click()
DevM.dmSize = Len(DevM)
DevM.dmDriverExtra = 0
erg = EnumDisplaySettings(0&, ENUM_CURRENT_SETTINGS, DevM)
DevM.dmOrientation = DMDO_90
temp = DevM.dmPelsHeight
DevM.dmPelsHeight = DevM.dmPelsWidth
DevM.dmPelsWidth = temp
ret = ChangeDisplaySettings(DevM, 0)
MsgBox ret ' у меня  = -2    Указанный графический режим не поддерживается
End Sub
Ниже даю то, что возвращает эта функция ChangeDisplaySettings
Visual Basic
1
2
3
4
5
6
7
8
9
10
'Функция возвращает следующие значения:
'Значение                                   Описание
'DISP_CHANGE_SUCCESSFUL = 0  Параметры настройки экрана были успешно изменены
'DISP_CHANGE_RESTART = 1     Компьютер нужно перезагрузить, чтобы изменения вступили в силу
'DISP_CHANGE_BADFLAGS = -4   Определен недействительный набор флажков
'DISP_CHANGE_BADPARAM = -5   Определен недопустимый параметр
'DISP_CHANGE_FAILED = -1     Драйвер дисплея не поддерживает указанный графический режим
'DISP_CHANGE_BADMODE = -2    Указанный графический режим не поддерживается
'DISP_CHANGE_NOTUPDATED = -3     Windows NT/2000: Настройки не могут быть записаны в реестр
'
2
64 / 20 / 1
Регистрация: 29.07.2012
Сообщений: 151
22.09.2012, 22:18  [ТС]
Спасибо, правда у меня тоже -2
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
22.09.2012, 22:30
Driver Nvidia 306.23 Windows 7 64-bit (тобишь последний). Полет -2 аналогично.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
22.09.2012, 22:41
А вот если закомментировать строки, где меняется ширина на высоту
Visual Basic
1
2
3
'temp = DevM.dmPelsHeight
'DevM.dmPelsHeight = DevM.dmPelsWidth
'DevM.dmPelsWidth = temp
И выставить 180 гр
Visual Basic
1
DevM.dmOrientation = DMDO_180
ТО экран мигает, возвращает 0, но поворота не происходит. Видно всё таки драйвер не дает, или назад быстро-быстро возвращает
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
22.09.2012, 22:43
Если интересно, есть консольная утилитка
http://www.entechtaiwan.com/util/irotate.shtm
которой можно задавать параметры (а значит и запускать скрыто через Shell):
Bash
1
2
3
irotate.exe /rotate=90
irotate.exe /rotate=180
irotate.exe /rotate=0
У меня - меняет.
2
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
22.09.2012, 23:06
Цитата Сообщение от Dragokas Посмотреть сообщение
У меня - меняет.
У меня тоже. Видно в MSDN о чем то подобном и говорили
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.09.2012, 23:06
Помогаю со студенческими работами здесь

Повернуть массив на 180 градусов
Повернуть содержимое квадратной матрицы A (размер n × n) по часовой стрелке на 180 градусов, считая центром поворота центр симметрии...

Повернуть матрицу на 180 градусов
Матрицу NxN повернуть (без использования вспомогательных массивов) на 180 градусов.

Повернуть двумерную матрицу на 90 и 180 градусов
2. Вводим с клавиатуры размерности двухмерной матрицы (количество строк и столбцов) целых чисел (знакового целого типа), а также введение...

Повернуть изображение на 180 градусов в PictureBox
Помогите пжлста инвертировать изображение(развернуть на 180 градусов) в picturebox. Есть пикчабокс со вставленным изображением через...

Повернуть матрицу на 90, 180, 270 градусов
Дана квадратная матрица порядка M. Повернуть ее на 90, 180 и 270 градусов в положительном направлении. Нашел вот такой вот код: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru