Что нового

Получить количество пикселей на дюйм

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
в стандарте система использует 96 пикселей(точек) на дюйм в отношении размера системного шрифта.
при ручном изменении размера шрифта количество пикселей увеличивается..как узнать каково это соотношение в данный момент?
или можно сразу получить текущий размер системного шрифта?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
joiner,
Немного переделал функцию _WinAPI_EnumDisplaySettings() из WinAPIEx.au3
Код:
Local $tDEVMODE = DllStructCreate('wchar DeviceName[32];ushort SpecVersion;ushort DriverVersion;ushort Size;ushort DriverExtra;dword Fields;' & _
		'long X;long Y;dword DisplayOrientation;dword DisplayFixedOutput;short Unused1[5];wchar Unused2[32];ushort LogPixels;dword BitsPerPel;' & _
		'dword PelsWidth;dword PelsHeight;dword DisplayFlags;dword DisplayFrequency;')

DllStructSetData($tDEVMODE, 'Size', DllStructGetSize($tDEVMODE))
DllStructSetData($tDEVMODE, 'DriverExtra', 0)

Local $aRet = DllCall('user32.dll', 'int', 'EnumDisplaySettingsW', 'ptr', 0, 'dword', -1, 'ptr', DllStructGetPtr($tDEVMODE))

If (@error) Or (Not $aRet[0]) Then Exit 13
ConsoleWrite(DllStructGetData($tDEVMODE, 'LogPixels') & @LF)
 
Автор
joiner

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
madmasles
отлично. показывает текущее количество пикселей.


Добавлено:
Сообщение автоматически объединено:
 
Верх