Что такое код getdevicecaps

Что такое hdc в getdevicecaps

Извините, пожалуйста, хотелось бы узнать что такое hdc в getdevicecaps большое человеческое спасибо за ответ. Дополнительная информация на сайте. Ответы доступны для пользователей старше 18 лет.

Еще спрашивают: что такое hdc, getdevicecaps, bmw hill descent control (hdc)

Качество видео: HD

Видео загружено админу от пользователя Аба: для срочного просмотра на портале.

Чтобы дать правильный ответ на вопрос нужно посмотреть видео. После просмотра вам не потребуется обращаться за помощью к специалистам. Подробные инструкции помогут вам решить ваши проблемы. Приятного просмотра.

Юмор в теме: Женщина, которая, вроде, согласна, но не дает, напоминает медленный интернет.

физический размер экрана, полученный GetDeviceCaps, не является фактическим физическим размером моего экрана

Под Windows 7 я использую следующий код, чтобы получить физическую ширину в мм экрана. «HSize» — 482, что намного больше, чем фактический размер, который составляет около 310 (измеряется линейкой). Это почему?

PS: мне нужно значение DPI для рендеринга карт.

Решение

Как отмечают комментарии, GetDeviceCaps (HORSZIE / VERTSIZE), как известно, неточно. Так было всегда, и, вероятно, так будет всегда. Вы ничего не можете с этим поделать, так что вам просто нужно притвориться, что этот API не существует, и двигаться дальше. Это не поможет вам найти реальный размер монитора. Вам лучше принять фиксированное значение по умолчанию и позволить пользователю корректировать размеры вручную, если это необходимо.

К счастью, кто-то уже провел там исследования и нашел лучший способ найти физический размер дисплея в Windows. В записи блога под названием Чтение физических размеров монитора или: получение ED > Офек описывает, как вы можете получить более точные размеры от монтора ED > с помощью Windows SetupAPI. Схема процедуры описывается следующим образом:

  1. Вызовите SetupDiGetClassDevsEx, чтобы получить дескриптор HDEVINFO.
  2. Используйте этот HDEVINFO при вызове SetupDiEnumDeviceInfo для заполнения структуры SP_DEVINFO_DATA.
  3. Используйте и HDEVICE, и HDEVINFO при вызове SetupDiOpenDevRegKey, чтобы, наконец, получить HKEY для нужного ключа реестра — тот, который
    содержит блок EDID.

Связанная запись блога содержит пример кода и информацию о других альтернативных методах, которые он попробовал.

Обратите внимание, что даже EDID не всегда будет точным. Хотя сам монитор говорит о своих собственных размерах, у него все еще есть много возможностей для ошибок. Поставщик может легко ошибиться с измерениями в EDID, и монитор по-прежнему будет работать идеально, поэтому нет никаких стимулов для правильного определения этих значений.

Что такое код getdevicecaps

Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Форум программистов > Низкоуровневое программирование > Win Api
GetDeviceCaps
Регистрация
Поиск по форуму
Расширенный поиск
К странице.

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда — alarforum@yandex.ru

Всем доброго дня!
Возник вопрос, и предложение к форумчанам!
Нужно, чтобы возвращаемая данной функцией ширина дисплея соответствовала реальной, для этого предлагаю выполнить у себя на машине эту функцию. и померить ширину дисплея линейкой
ну и отписаться, сошлось или нет.

int devCaps = GetDeviceCaps(GetDC(0), HORZSIZE);

У меня на 19, 17 дюймовых мониторах результаты сошлись. Функция вернула достоверное значение. Но на ноуте, где широкоформатный дисплей вернула ерунду.
Помогите люди добрые.

CDC::GetDeviceCaps

The value of the requested capability if the function is successful.

Specifies the type of information to return. It can be any one of the following values:

    DRIVERVERSION Version number; for example, 0x100 for 1.0.

  • TECHNOLOGY Device technology. It can be any one of the following:
  • 28.09.2007, 17:52 #1
    Value Meaning
    DT_PLOTTER Vector plotter
    DT_RASDISPLAY Raster display
    DT_RASPRINTER Raster printer
    DT_RASCAMERA Raster camera
    DT_CHARSTREAM Character stream
    DT_METAFILE Metafile
    DT_DISPFILE Display file

    • HORZSIZE Width of the physical display (in millimeters).

      VERTSIZE Height of the physical display (in millimeters).

      HORZRES Width of the display (in pixels).

      VERTRES Height of the display (in raster lines).

      LOGPIXELSX Number of pixels per logical inch along the display width.

      LOGPIXELSY Number of pixels per logical inch along the display height.

      BITSPIXEL Number of adjacent color bits for each pixel.

      PLANES Number of color planes.

      NUMBRUSHES Number of device-specific brushes.

      NUMPENS Number of device-specific pens.

      NUMFONTS Number of device-specific fonts.

      NUMCOLORS Number of entries in the device’s color table.

      ASPECTX Relative width of a device pixel as used for line drawing.

      ASPECTY Relative height of a device pixel as used for line drawing.

      ASPECTXY Diagonal width of the device pixel as used for line drawing.

      PDEVICESIZE Size of the PDEVICE internal data structure.

    • CLIPCAPS Clipping capabilities of the device. It can be one of the following:
    Value Meaning
    CP_NONE Output is not clipped.
    CP_RECTANGLE Output is clipped to rectangles.
    CP_REGION Output is clipped to regions.

    • SIZEPALETTE Number of entries in the system palette. This index is valid only if the device driver sets the RC_PALETTE bit in the RASTERCAPS index.

      NUMRESERVED Number of reserved entries in the system palette. This index is valid only if the device driver sets the RC_PALETTE bit in the RASTERCAPS index.

      COLORRES Actual color resolution of the device in bits per pixel. This index is valid only if the device driver sets the RC_PALETTE bit in the RASTERCAPS index.

    • RASTERCAPS Value that indicates the raster capabilities of the device. It can be a combination of the following:
    Value Meaning
    RC_BANDING Requires banding support.
    RC_BIGFONT Supports fonts larger than 64K.
    RC_BITBLT Capable of transferring bitmaps.
    RC_BITMAP64 Supports bitmaps larger than 64K.
    RC_DEVBITS Supports device bitmaps.
    RC_DI_BITMAP Capable of supporting the SetDIBits and GetDIBits Windows functions.
    RC_DIBTODEV Capable of supporting the SetDIBitsToDevice Windows function.
    RC_FLOODFILL Capable of performing flood fills.
    RC_GDI20_OUTPUT Capable of supporting Windows version 2.0 features.
    RC_GDI20_STATE Includes a state block in the device context.
    RC_NONE Supports no raster operations.
    RC_OP_DX_OUTPUT Supports dev opaque and DX array.
    RC_PALETTE Specifies a palette-based device.
    RC_SAVEBITMAP Capable of saving bitmaps locally.
    RC_SCALING Capable of scaling.
    RC_STRETCHBLT Capable of performing the StretchBlt member function.
    RC_STRETCHDIB Capable of performing the StretchDIBits Windows function.

    • CURVECAPS The curve capabilities of the device. It can be a combination of the following:
    Value Meaning
    CC_NONE Supports curves.
    CC_CIRCLES Supports circles.
    CC_PIE Supports pie wedges.
    CC_CHORD Supports chords.
    CC_ELLIPSES Supports ellipses.
    CC_WIDE Supports wide borders.
    CC_STYLED Supports styled borders.
    CC_WIDESTYLED Supports wide, styled borders.
    CC_INTERIORS Supports interiors.
    CC_ROUNDRECT Supports rectangles with rounded corners.

    • LINECAPS Line capabilities the device supports. It can be a combination of the following:
    Value Meaning
    LC_NONE Supports no lines.
    LC_POLYLINE Supports polylines.
    LC_MARKER Supports markers.
    LC_POLYMARKER Supports polymarkers.
    LC_WIDE Supports wide lines.
    LC_STYLED Supports styled lines.
    LC_WIDESTYLED Supports wide, styled lines.
    LC_INTERIORS Supports interiors.

    • POLYGONALCAPS Polygonal capabilities the device supports. It can be a combination of the following:
    Value Meaning
    PC_NONE Supports no polygons.
    PC_POLYGON Supports alternate fill polygons.
    PC_RECTANGLE Supports rectangles.
    PC_WINDPOLYGON Supports winding number fill polygons.
    PC_SCANLINE Supports scan lines.
    PC_WIDE Supports wide borders.
    PC_STYLED Supports styled borders.
    PC_WIDESTYLED Supports wide, styled borders.
    PC_INTERIORS Supports interiors.

    • TEXTCAPS Text capabilities the device supports. It can be a combination of the following:
    Value Meaning
    TC_OP_CHARACTER Supports character output precision, which indicates the device can place device fonts at any pixel location. This is required for any device with device fonts.
    TC_OP_STROKE Supports stroke output precision, which indicates the device can omit any stroke of a device font.
    TC_CP_STROKE Supports stroke clip precision, which indicates the device can clip device fonts to a pixel boundary.
    TC_CR_90 Supports 90-degree character rotation, which indicates the device can rotate characters only 90 degrees at a time.
    TC_CR_ANY Supports character rotation at any degree, which indicates the device can rotate device fonts through any angle.
    TC_SF_X_YINDEP Supports scaling independent of x and y directions, which indicates the device can scale device fonts separately in x and y directions.
    TC_SA_DOUBLE Supports doubled characters for scaling, which indicates the device can double the size of device fonts.
    TC_SA_INTEGER Supports integer multiples for scaling, which indicates the device can scale the size of device fonts in any integer multiple.
    TC_SA_CONTIN Supports any multiples for exact scaling, which indicates the device can scale device fonts by any amount but still preserve the x and y ratios.
    TC_EA_DOUBLE Supports double-weight characters, which indicates the device can make device fonts bold. If this bit is not set for printer drivers, GDI attempts to create bold device fonts by printing them twice.
    TC_IA_ABLE Supports italics, which indicates the device can make device fonts italic. If this bit is not set, GDI assumes italics are not available.
    TC_UA_ABLE Supports underlining, which indicates the device can underline device fonts. If this bit is not set, GDI creates underlines for device fonts.
    TC_SO_ABLE Supports strikeouts, which indicates the device can strikeout device fonts. If this bit is not set, GDI creates strikeouts for device fonts.
    TC_RA_ABLE Supports raster fonts, which indicates that GDI should enumerate any raster or TrueType fonts available for this device in response to a call to the EnumFonts or EnumFontFamilies Windows functions. If this bit is not set, GDI-supplied raster or TrueType fonts are not enumerated when these functions are called.
    TC_VA_ABLE Supports vector fonts, which indicates that GDI should enumerate any vector fonts available for this device in response to a call to the EnumFonts or EnumFontFamilies Windows functions. This is significant for vector devices only (that is, for plotters). Display drivers (which must be able to use raster fonts) and raster printer drivers always enumerate vector fonts, because GDI rasterizes vector fonts before sending them to the driver.
    TC_RESERVED Reserved; must be 0.

    Retrieves a wide range of device-specific information about the display device.

    CDC::GetDeviceCaps( )

    Written on 04 Февраля 2007 .

    С помощью этой функции можно получить специфическую информацию относительно экранного устройства. Этим устройством может быть как экран монитора, так и принтер с плоттером.

    nIndex — Тип возвращаемой информации. Может быть любой из следующих величин:

    • DRIVERVERSION — Номер версии; например, 0x100 для 1.0
    • DT_PLOTTER — Векторный плоттер
    • DT_RASDISPLAY — Растровый дисплей
    • DT_RASPRINTER — Растровый принтер
    • DT_RASCAMERA — Растровая камера
    • DT_CHARSTREAM — Поток знаков
    • DT_METAFILE — Метафайл
    • DT_DISPFILE — Дисплейный файл
    • HORZSIZE — Ширина физического дисплея (в миллиметрах)
    • VERTSIZE — Высота дисплея (в миллиметрах)
    • HORZRES — Ширина дисплея (в пикселях)
    • VERTRES — Высота дисплея (в линиях растра)
    • LOGPIXELSX — Число пикселей на горизонтальный логический дюйм
    • LOGPIXELSY — Число пикселей на вертикальный логический дюйм
    • BITSPIXEL — Число смежных цветовых битов для каждого пикселя
    • PLANES — Число цветовых плоскостей
    • NUMBRUSHES — Число зависимых от устройства кистей
    • NUMPENS — Число зависимых от устройства перьев
    • NUMFONTS — Число зависимых от устройства шрифтов
    • NUMCOLORS — Число элементов в таблице цветов устройства
    • ASPECTX — Относительная ширина пикселя устройства, которая используется для линий рисунка
    • ASPECTY — Относительная высота пикселя устройства, которая используется для линий рисунка
    • ASPECTXY — Диагональная ширина пикселя устройства, которая используется для линии рисунка
    • PDEVICESIZE — Размер внутренней структуры данных PDEVICE
    • CLIPCAPS — Возможности усечения устройства
    • SIZEPALETTE — Число элементов в палитре системы. Этот индекс имеет силу, только если драйвер устройства устанавливает бит RC_PALETT в индексе RASTERCAPS
    • NUMRESERVED — Число зарезервированных элементов в палитре системы. Этот индекс имеет силу, только если драйвер устройства устанавливает бит RC_PALETT в индексе RASTERCAPS
    • COLORRES — Фактическое цветовое разрешение устройства в битах на пиксель. Этот индекс имеет силу, только если драйвер устройства устанавливает бит RC_PALETT в индексе RASTERCAPS
    • RASTERCAPS — Значение, указывающее растровые возможности устройства

    RASTERCAPS может быть комбинацией следующих значений:

    • RC_BANDING — Требует поддержки связи
    • RC_BIGFONT — Поддерживает шрифты, большие чем 64 Кбайт
    • RC_BITBLT — Способен к пересылке битовых карт
    • RC_BITMAP64 — Поддерживает битовые карты, большие чем 64 Кбайт
    • RC_DEVBITS — Поддерживает битовые карты устройства
    • RC_DI_BITMAP — Способен поддерживать функции Windows SetDIBits и GetDIBits
    • RC_DIBTODEV — Способен поддерживать функцию Windows SetDIBitsToDevice
    • RC_FLOODFILL — Способен к выполнению полного заполнения
    • RC_GD120_OUTPUT — Способен к поддержке особенностей версии Windows 2.0
    • RC_GD120_STATE — Включает блок состояния в контекст устройства
    • RC_NONE — Не поддерживает растровые операции
    • RC_OP_DX_OUTPUT — Поддерживает непрозрачность и DX массив
    • RC_PALETTE — Определяет устройство базовой палитры
    • RC_SAVEBITMAP — Способен к локальному хранению битовых карт
    • RC_SCALING — Способен к масштабированию
    • RC_STRETCHBLT — Способен к выполнению функции — члена StretchBlt
    • RC_STRETCHDIB — Способен к выполнению функции Windows StretchDIBits
    • CURVECAPS — Возможность построения кривых

    CURVECAPS может быть комбинацией следующих значений:

    • CC_NONE — Поддерживает кривые
    • CC_CIRCLES — Поддерживает круги
    • CC_PIE — Поддерживает секторные диаграммы
    • CC_CHORD — Поддерживает хорды
    • CC_ELIPSES — Поддерживает эллипсы
    • CC_WIDE — Поддерживает широкие грани
    • CC_STYLED — Поддерживает стилизованные границы
    • CC_WIDESTYLED — Поддерживает широкие стилизованные границы
    • CC_INTERIORS — Поддерживает внутреннее заполнение
    • CC_ROUNDRECT — Поддерживает прямоугольники со скругленными углами
    • LINECAPS — Возможности построения линий

    LINECAPS может быть комбинацией следующих значений:

    • LC_NONE — Не поддерживает никакие линии
    • LC_PLYUNE — Поддерживает полилинии
    • LC_MARKER — Поддерживает метки
    • LC_POLYMARKER — Поддерживает полимаркеры
    • LC_WIDE — Поддерживает широкие линии
    • LC_STYLED — Поддерживает стилизованные линии
    • LC_WIDESTYLED — Поддерживает широкие стилизованные линии
    • LC_INTERIORS — Поддерживает внутреннее заполнение
    • POLYGONALCAPS — Возможности построения прямоугольников

    POLYGONALCAPS может быть комбинацией следующих значений:

    • PC_NONE — Не поддерживает многоугольники
    • PC_POLYGON — Поддерживает заполненные прямоугольники
    • PC_RECTANGLE — Поддерживает прямоугольники
    • PC_WINDPOLYGON — Поддерживает многоугольники с волнистой штриховкой
    • PC_SCANLINE — Поддерживает одинарные линии
    • PC_WIDE — Поддерживает широкие границы
    • PC_STYLED — Поддерживает стилизованные границы
    • PC_WIDESTYLED — Поддерживает широкие стилизованные границы
    • PC_INTERIORS — Поддерживает внутреннее заполнение
    • TEXTCAPS — Поддерживает текстовые возможности

    TEXTCAPS может быть комбинацией следующих значений:

    • TC_OP_CHARACTER — Поддерживает точный вывод символов, то есть устройство может размещать свои шрифты в любом месте пикселя. Эта возможность требуется для любого устройства со шрифтами
    • TC_OP_STROKE — Поддерживает точный вывод штриха, то есть устройство может опускать любой штрих своего шрифта
    • TC_CP_STROKE — Поддерживает точную отсечку штрихов, то есть устройство может обрезать свои шрифты на границе пикселя
    • TC_CR_90 — Поддерживает поворот знака на 90 градусов, то есть устройство может вращать знаки только на 90 градусов единовременно
    • TC_CR_ANY — Поддерживает вращение знака на любой угол, то есть устройство может вращать свои шрифты на любой угол
    • TC_SF_X_YINDEP — Поддерживает масштабирование по x и y, то есть устройство может независимо масштабировать свои шрифты по осям x и y
    • TC_SA_DOUBLE — Поддерживает двойное масштабирование, то есть устройство может удвоить размер своего шрифта
    • TC_SA_INTEGER — Поддерживает масштабирование в целое число раз, то есть устройство может масштабировать размер своего шрифта в любое целое число раз
    • TC_SA_CONTIN — Поддерживает масштабирование в любое число раз, то есть устройство может масштабировать свои шрифты в любое число раз, сохраняя горизонтальные и вертикальные пропорции
    • TC_EA_DOUBLE — Поддерживает вывод жирных символов, то есть устройство может делать свои шрифты полужирными. Если для драйвера принтера бит не установлен, GDI пытается создать полужирные шрифты устройства, печатая их дважды
    • TC_IA_ABLE — Поддерживает вывод курсива, то есть устройство может делать свои шрифты курсивными. Если этот бит не установлен, GDI предполагает, что курсив не доступен
    • TC_UA_ABLE — Поддерживает подчеркивание, то есть устройство может подчеркивать свои шрифты. Если этот бит не установлен, GDI создает подчеркивание под шрифтом устройства
    • TC_SO_ABLE — Поддерживает перечеркивание, то есть устройство может перечеркивать свои шрифты. Если этот бит не установлен, GDI создает перечеркивание для шрифтов устройства
    • TC_RA_ABLE — Поддерживает рисование растровых шрифтов, то есть при вызове функций Windows EnumFonts или EnumFontFamilies GDI должен перечислить все растровые или TrueType шрифты, доступные для устройства. Если этот бит не установлен, поставляемые GDI растровые или TrueType шрифты не перечисляются при вызове вышеуказанных функций
    • TC_VA_ABLE — Поддерживает векторные шрифты, то есть при вызове функций Windows EnumFonts или EnumFontFamilies GDI должен перечислить все векторные шрифты, доступные для устройства. Это важно только векторных устройств (то есть графопостроителей). Драйвер дисплея (который должен быть способен использовать растровые шрифты) и растрового принтера всегда перечисляют векторные шрифты, потому что GDI растеризирует их перед передачей драйверу
    • TC_RESETVED — Зарезервировано; должно быть 0

    Размер экрана

    никто не знает как можно хотя бы оценить развер экрана монитора программно? ну например диагональ или хотя б родное разрешение(если матрица)?

    Была тема про то, как получить аспект с толковыми и бестолковыми примерами кода.

    Да там наговорили велосипедов на 4 страницы.
    А у меня (и у пользователей) прекрасно работает

    TarasB
    > А у меня (и у пользователей) прекрасно работает
    Даже 1280×1024 которое может быть и 4х3 и 5х4? Довольно популярное разрешение несколько лет назад.

    entryway
    ниразу не видел 5х4 моников.

    >> ниразу не видел 5х4 моников.
    O_O а 1280х1024 ?

    ALPINE
    разрешение да но они все были по размерам 4х3

    Super_inoy
    > разрешение да но они все были по размерам 4х3
    Сделал выборку статистики по разрешению на своем сайте, получил такое:
    http://prboom-plus.sf.net/resstat.png

    Не думаю, что 1280×1024 тут — это старые ЭЛТ 17шки.

    мне ж не логический размер нужен, а физический

    а разрешение, аспект — это всё логика, а мне нужно сантиметры

    раздели максимальное разрешение на dpi (точки на дюйм) и найди диагональ
    ну или воспользоваться GetDeviceCaps

    Barbar1an
    > а разрешение, аспект — это всё логика, а мне нужно сантиметры
    Помоему это полная чушь. Ты можешь вывести картинку на телевизор с диагональю 1.5 метра, а можешь ее же (с тем же разрешением) смотреть на лаптопе. И никакое устройство не рапортует о своих физических размерах или размере пиксекя. Потом — а нафига нужно знать физический размер монитора? Для какой практической надобности это может потребоваться.

    P.S.
    GetDeviceCap возвращает число пикселей на экране в пересчете на 72 dpi. При том что реальный экран может быть любого размера. Например для моего скрина (2560×1600, 30″) возвращается размер 903х564 мм, т.е. диагональ больше метра :)

    Barbar1an
    Можно парсить EDID монитора в registry по device instance ID. Там есть физические размеры.
    Только надо быть готовым к тому что там может оказаться мусор, либо подключённое устройство не монитор и не имеет размеров.

    san
    > GetDeviceCap возвращает число пикселей на экране в пересчете на 72 dpi.
    Если не ошибаюсь, там данные хранятся в 96dpi. Чтобы получить действительное значение нужно конвертировать.

    san
    > GetDeviceCap возвращает число пикселей на экране в пересчете на 72 dpi.

    Да, я проверил, действительно так. Полная лажа и враньё, выходит, этот гетдевайскап, вынужден извиниться за свой метод.

    Заметил, что вопрос волнует многих. Нашёл вот такой пример, поразивший меня неадекватностью всех участников форума, кроме чела, задавшего вопрос: http://www.delphimaster.ru/cgi-bin/forum.pl? >

    Помоему в посте 1 содержится ответ на все вопросы касающейся параметров монитора, не понимаю о чём можно говорить уже 4 дня.

    Barbar1an
    > мне ж не логический размер нужен, а физический
    > а разрешение, аспект — это всё логика, а мне нужно сантиметры

    В первом посте есть ответ.
    21 и 22 байты.

    Что такое код getdevicecaps

    Автор: Randy Birch

    Компилятор: Visual Basic 5.0, 6.0

    API функция GetDeviceCaps() позволяет получить наиболее часто используемые параметры видео адаптера, такие как разрешение по вертикали и горизонтали, а также глубину цвета и текущую частоту обновления.

    Добавьте на форму четыре текстовых поля (Label1 — Label4) кнопку и следующий код:

    Ниже приведены константы из заголовочного файла Windows, которые возвращаются функцией GetDeviceCaps().

    GetDeviceCaps возвращает разные значения, чем разрешение экрана

    Я пытаюсь получить разрешение экрана, так как оно появляется на рабочем столе → графические свойства → отображение, на моем компьютере с Windows 10. значение составляет 1920X1080.

    Однако, когда я использую следующий код, чтобы получить это значение:

    Я получаю 1280X720.

    Я получаю те же значения, что и функции GetDpiForMonitor и GetSystemMetrics. Может ли кто-нибудь объяснить мне эту разницу между значениями? Спасибо.

    Что такое код getdevicecaps

    4 просмотра

    1 ответ

    11 Репутация автора

    Я новичок в Windows API, и я просто не могу понять это:

    Согласно документации функция int GetDeviceCaps(HDC hdc,int index); возвращает целочисленные значения, которые соответствуют выбранному элементу, о котором я хочу знать. Однако, как я должен преобразовать целые числа в значения?

    • RC_BANDING Требуется поддержка обвязки.
    • RC_BITBLT Возможность переноса растровых изображений.
    • RC_BITMAP64 Возможность поддержки растровых изображений размером более 64 КБ.
    • RC_DI_BITMAP Возможность поддержки функций SetDIBits и GetDIBits.
    • RC_DIBTODEV Возможность поддержки функции SetDIBitsToDevice.
    • RC_FLOODFILL Возможность выполнения наводнений.

    32409 означает, что у устройства есть значения (возможности) RASTERCAP 3,2,4,0 и 9 в порядке, указанном в их таблице?

    Ответы (1)

    плюса

    2840 Репутация автора

    Это битмаски. В соответствующем заголовочном файле C (wingdi.h) имеется

    . и многое другое.

    Возвращаемое значение (32409) состоит из поразрядного или из этих значений. Так, например, если вы хотите узнать, может ли устройство поддерживать> 64-битное растровое изображение, вы бы сделали

    Что такое код getdevicecaps

    In Windows 7, GetDeviceCaps(HORZSIZE) and GetDeviceCaps(VERTSIZE) are too large by more than 50%. This is much more accurate running with the same hardware in Windows XP. Is there a way to correct this? I beleive this is also the root cause of Windows 7 drawing issues I am having in MM_HIMETRIC mapping mode. Utilities that read the EDID from the registry will return some entries that seem accurate and others with the +50% error. Is there a way to update the EDID to fix this?

    Answers

    If your problem is «I draw a 50 millimeter length line in MM_HIMETRIC, and when I measure it on my screen, its length is not 50 millimeters but 90 (or 30)», then I’m afraid there is no solution to this, and you will have to change your software requirements.

    Drawing measures are only accurate on printing devices, not on screen devices.

    Drawing softwares generaly have zoom feature that let you zoom your drawing to fit to the screen (max drawing size = screen pixel size), or display 100% (1 pixel you draw in MM_TEXT is 1 pixel on screen). 100% zoom display is NOT 1 inch you draw is 1 inch on your screen.

    The only thing you can measure on screen are pixels. You may decide that 1 inch is 96 pixels, or 125, or whatever. It’s up to you. Use a realistic value as much as you can. Don’t expect GDI to tell you this, because it can’t.

    You should not care if 96pixels is not really 1 inch on your screen. If you use another screen, or another resolution, it will be yet another size.

    Илон Маск рекомендует:  Что такое код asp session_onstart
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL