다음을 통해 공유


GDIINFO 구조체(winddi.h)

GDIINFO 구조체는 지정된 디바이스의 그래픽 기능을 설명합니다.

구문

typedef struct _GDIINFO {
  ULONG     ulVersion;
  ULONG     ulTechnology;
  ULONG     ulHorzSize;
  ULONG     ulVertSize;
  ULONG     ulHorzRes;
  ULONG     ulVertRes;
  ULONG     cBitsPixel;
  ULONG     cPlanes;
  ULONG     ulNumColors;
  ULONG     flRaster;
  ULONG     ulLogPixelsX;
  ULONG     ulLogPixelsY;
  ULONG     flTextCaps;
  ULONG     ulDACRed;
  ULONG     ulDACGreen;
  ULONG     ulDACBlue;
  ULONG     ulAspectX;
  ULONG     ulAspectY;
  ULONG     ulAspectXY;
  LONG      xStyleStep;
  LONG      yStyleStep;
  LONG      denStyleStep;
  POINTL    ptlPhysOffset;
  SIZEL     szlPhysSize;
  ULONG     ulNumPalReg;
  COLORINFO ciDevice;
  ULONG     ulDevicePelsDPI;
  ULONG     ulPrimaryOrder;
  ULONG     ulHTPatternSize;
  ULONG     ulHTOutputFormat;
  ULONG     flHTFlags;
  ULONG     ulVRefresh;
  ULONG     ulBltAlignment;
  ULONG     ulPanningHorzRes;
  ULONG     ulPanningVertRes;
  ULONG     xPanningAlignment;
  ULONG     yPanningAlignment;
  ULONG     cxHTPat;
  ULONG     cyHTPat;
  LPBYTE    pHTPatA;
  LPBYTE    pHTPatB;
  LPBYTE    pHTPatC;
  ULONG     flShadeBlend;
  ULONG     ulPhysicalPixelCharacteristics;
  ULONG     ulPhysicalPixelGamma;
} GDIINFO, *PGDIINFO;

멤버

ulVersion

드라이버 버전 번호를 지정합니다. ulVersion의 바이트 순서는 다음과 같습니다.

드라이버 버전 번호를 지정하는 ulVersion 멤버를 보여 주는 그림

상위 16비트 는 0으로 설정해야 합니다. 비트 8~15는 드라이버가 설계된 Microsoft 운영 체제의 버전 번호를 지정합니다. 이 범위의 상위 4비트 버전에는 주 버전 수가 지정되며, 하위 4비트 버전에는 부 개수가 포함됩니다. 낮은 순서의 8비트 ulVersion 은 디스플레이 드라이버의 버전 번호를 지정합니다. 이 값은 디스플레이 드라이버 이진 파일의 각 릴리스에 대해 증가해야 합니다.

제어판 표시 프로그램은 다른 드라이버 관련 정보와 함께 ulVersion에 포함된 버전 번호를 나타냅니다.

ulTechnology

디바이스 기술을 지정합니다. 이 멤버는 다음 표에 나열된 값 중 하나일 수 있습니다.

의미
DT_CHARSTREAM 디바이스 글꼴만
DT_PLOTTER 벡터 플로터
DT_RASCAMERA 래스터 카메라
DT_RASDISPLAY 래스터 디스플레이
DT_RASPRINTER 래스터 프린터

ulHorzSize

실제 표면의 너비를 지정합니다. 양수 값은 너비가 밀리미터 단위임을 나타내고 음수 값은 너비가 마이크로미터 단위임을 나타냅니다.

ulVertSize

실제 표면의 높이를 지정합니다. 양수 값은 높이가 밀리미터 단위임을 나타내고 음수 값은 높이가 마이크로미터 단위임을 나타냅니다.

ulHorzRes

실제 표면(디스플레이 장치) 또는 인쇄 가능한 표면(프린터)의 너비를 픽셀 단위로 지정합니다.

ulDesktopHorzRes도 참조하세요.

ulVertRes

실제 표면(디스플레이 장치) 또는 인쇄 가능한 표면(프린터)의 높이를 픽셀 단위로 지정합니다.

cBitsPixel

각 색 평면의 인접 비트 수를 지정합니다. 픽셀당 총 비트 수는 cBitsPixelcPlanes의 제품입니다.

cPlanes

색 평면 수를 지정합니다.

ulNumColors

palettized 디바이스의 경우 ulNumColors 는 기본 색상표의 항목 수를 지정합니다. 프린터를 포함하지 않는 비패턴 디바이스의 경우 ulNumColors 는 -1로 설정됩니다.

flRaster

예약되어 있으며 0으로 설정해야 합니다.

ulLogPixelsX

디바이스의 너비 해상도를 인치당 논리적 픽셀로 지정합니다.

프린터의 경우 이 멤버를 dpi의 프린터 해상도로 설정해야 합니다.

디스플레이의 경우 이 멤버를 96으로 설정해야 합니다.

ulLogPixelsY

디바이스의 높이 해상도를 인치당 논리적 픽셀로 지정합니다.

프린터의 경우 이 멤버를 dpi의 프린터 해상도로 설정해야 합니다.

디스플레이의 경우 이 멤버를 96으로 설정해야 합니다.

flTextCaps

Windows 3.1 텍스트 기능을 설명하는 플래그를 지정합니다. 드라이버 TC_SCROLLBLT 플래그가 이 멤버에 있는 경우 DrvBitBlt 또는 DrvCopyBits 함수 대신 드라이버 제공 DrvTextOut 함수를 사용하여 전체 화면을 다시 그려서 콘솔에서 텍스트 스크롤을 수행해야 했음을 나타냅니다. 화면 대 화면 비트 블록 전송이 느린 경우 드라이버는 이 플래그를 설정해야 합니다. 이 플래그가 설정되지 않은 경우 드라이버는 콘솔이 DrvBitBlt/DrvCopyBits를 통해 텍스트 스크롤을 수행하도록 암시적으로 요청합니다.

ulDACRed

ulDACGreen

ulDACBlue

지정된 색에 대한 DAC 비트의 표시 수를 지정합니다.

ulAspectX

1에서 1000까지의 범위에서 디바이스 픽셀의 상대 너비를 지정합니다.

ulAspectY

1에서 1000까지의 범위에서 디바이스 픽셀의 상대 높이를 지정합니다.

ulAspectXY

ulAspectX 및 ulAspectY 제곱의 합에 대한 제곱근을 지정합니다.

xStyleStep

x 주선 dx에 대한 스타일 어드밴스의 숫자자를 지정합니다. 자세한 내용은 다음 설명 섹션 및 스타일이 지정된 코스메틱 라인을 참조하세요.

yStyleStep

y 주선 dy에 대한 스타일 어드밴스의 숫자자를 지정합니다. 자세한 내용은 다음 설명 섹션 및 스타일이 지정된 코스메틱 라인을 참조하세요.

denStyleStep

스타일 어드밴스 D의 분모를 지정합니다. 자세한 내용은 다음 설명 섹션 및 스타일이 지정된 코스메틱 라인을 참조하세요.

ptlPhysOffset

표면의 쓸 수 없는 여백의 크기(픽셀)를 포함하는 POINTL 구조를 지정합니다.

szlPhysSize

쓸 수 없는 여백을 포함하여 전체 표면의 크기를 픽셀 단위로 포함하는 SIZEL 구조를 지정합니다. SIZEL 구조체는 SIZE 구조체와 동일합니다.

ulNumPalReg

인덱싱된 디바이스의 색상표 레지스터 수를 지정합니다.

ciDevice

CIE 좌표 공간에서 디바이스의 색을 정의하는 COLORINFO 구조체입니다.

ulDevicePelsDPI

프린터의 경우 픽셀이 겹치거나 공백 없이 나란히 배치되는 경우 인치당 픽셀 수(또는 점 또는 노즐)를 지정합니다. 예를 들어 픽셀 크기가 0.001인치인 경우 이 값은 1-0.001로 나뉩니다. 멤버가 0이면 GDI 하프톤은 모든 픽셀이 겹치지 않고 연결된다는 가정하에 이 숫자를 계산합니다.

대부분의 프린터에 대한 실제 점 크기가 측정된 점 크기보다 크므로 GDI는 이 값을 사용하여 셀 크기(패턴 크기)에 따라 배치할 수 있는 실제 점 수를 근사화합니다. 그런 다음 로그 회귀가 수행되어 가장 선형적인 것이 무엇인지 확인합니다. 즉, 겹치는 디바이스 픽셀 검사(점 게인)를 최적화하기 위해 최상의 검사를 위해 점을 배치해야 합니다.

디스플레이의 경우 이 멤버를 0으로 설정해야 합니다.

ulPrimaryOrder

하프톤 출력에 대한 디바이스의 기본 색 또는 평면 번호의 비트 순서를 지정합니다. 이 멤버는 다음 표에 나열된 값 중 하나일 수 있습니다.

플래그 의미
PRIMARY_ORDER_ABC 디바이스 출력 순서는 RGB 또는 CMY입니다. 빨간색 또는 시안은 가장 중요한 비트에 있습니다. 파란색 또는 노란색은 가장 중요한 비트입니다.
PRIMARY_ORDER_ACB 디바이스 출력 순서는 RBG 또는 CYM입니다. 빨간색 또는 시안은 가장 중요한 비트에 있습니다. 녹색 또는 마젠타는 가장 중요한 비트에 있습니다.
PRIMARY_ORDER_BAC 디바이스 출력 순서는 GRB 또는 MCY입니다. 녹색 또는 마젠타는 가장 중요한 비트에 있습니다. 파란색 또는 노란색은 가장 중요한 비트입니다.
PRIMARY_ORDER_BCA 디바이스 출력 순서는 GBR 또는 MYC입니다. 녹색 또는 마젠타는 가장 중요한 비트에 있습니다. 빨간색 또는 시안이 가장 중요한 비트에 있습니다.
PRIMARY_ORDER_CBA 디바이스 출력 순서는 BGR 또는 YMC입니다. 파란색 또는 노란색은 가장 중요한 비트입니다. 빨간색 또는 시안이 가장 중요한 비트에 있습니다.
PRIMARY_ORDER_CAB 디바이스 출력 순서는 BRG 또는 YCM입니다. 파란색 또는 노란색은 가장 중요한 비트입니다. 녹색 또는 마젠타는 가장 중요한 비트에 있습니다.

ulHTPatternSize

하프톤 패턴의 크기를 지정합니다. AxB M으로 끝나는 값AxB 패턴의 변형입니다. 즉, SIZEAxB 및 SIZE_AxB_M는 A x B 패턴에서 조명되는 픽셀과 다릅니다. 이 멤버는 다음 값 중 하나일 수 있습니다.

HT_PATSIZE_2x2
HT_PATSIZE_2x2_M
HT_PATSIZE_4x4
HT_PATSIZE_4x4_M
HT_PATSIZE_6x6
HT_PATSIZE_6x6_M
HT_PATSIZE_8x8
HT_PATSIZE_8x8_M
HT_PATSIZE_10x10
HT_PATSIZE_10x10_M
HT_PATSIZE_12x12
HT_PATSIZE_12x12_M
HT_PATSIZE_14x14
HT_PATSIZE_14x14_M
HT_PATSIZE_16x16
HT_PATSIZE_16x16_M
HT_PATSIZE_SUPERCELL
HT_PATSIZE_SUPERCELL_M
HT_PATSIZE_USER
HT_PATSIZE_MAX_INDEX
HT_PATSIZE_DEFAULT

ulHTOutputFormat

하프톤에 대한 기본 출력 형식을 지정합니다. HT_FORMAT_4BPP 8개의 전체 강도 색상만 사용하고 HT_FORMATP_IRGB 반강도 색을 포함한 16가지 색상을 모두 사용합니다. 5 x 5 x 5 형식(색당 5비트)이 HT_FORMAT_16BPP 사용되는 것으로 가정합니다. 이 멤버는 다음 값 중 하나일 수 있습니다.

HT_FORMAT_1BPP
HT_FORMAT_4BPP
HT_FORMAT_4BPP_IRGB
HT_FORMAT_8BPP
HT_FORMAT_16BPP
HT_FORMAT_24BPP
HT_FORMAT_32BPP

flHTFlags

디바이스를 설명하는 플래그의 조합을 지정합니다. 이러한 플래그는 하프톤에 필요합니다. 이 멤버는 다음 값의 조합일 수 있습니다.

플래그 의미
HT_FLAG_8BPP_CMY332_MASK flHTFlags의 상위 8비트(비트 24~31)를 지우는 데 사용되는 플래그입니다. 그런 다음 MAKE_CMY332_MASK 매크로를 사용하여 픽셀당 8비트 CMY 모드 잉크 수준 정보로 이러한 비트를 설정할 수 있습니다. 자세한 내용은 GDI 8비트 픽셀당 CMY 마스크 모드 사용을 참조하세요 .
HT_FLAG_ADDITIVE_PRIMS 디바이스 주 복제본은 가산적입니다.
HT_FLAG_DO_DEVCLR_XFORM GDI에 제네릭 색 보정을 수행하도록 요청합니다.
HT_FLAG_HAS_BLACK_DYE 장치에는 별도의 검은색 염료가 있습니다.
HT_FLAG_HIGH_INK_ABSORPTION
HT_FLAG_HIGHER_INK_ABSORPTION
HT_FLAG_HIGHEST_INK_ABSORPTION
디바이스의 용지는 일반적인 양의 잉크보다 더 많이 흡수되므로 GDI는 종이에 잉크를 적게 렌더링해야 합니다. 이러한 플래그는 잉크 흡수의 상대적 양을 나타내며, HT_FLAG_HIGHER_INK_ABSORPTION HT_FLAG_HIGH_INK_ABSORPTION 보다 더 많은 흡수를 나타내지만 HT_FLAG_HIGHEST_INK_ABSORPTION 미만입니다.
HT_FLAG_INK_ABSORPTION_IDX0
HT_FLAG_INK_ABSORPTION_IDX1
HT_FLAG_INK_ABSORPTION_IDX2
HT_FLAG_INK_ABSORPTION_IDX3
HT_FLAG_HIGH/HIGHER/HIGHEST_INK_ABSORPTION 및 HT_FLAG_LOW/LOWER/LOWEST_INK_ABSORPTION 정의하는 데 사용되는 플래그입니다.
HT_FLAG_INK_HIGH_ABSORPTION HT_FLAG_HIGH/HIGHER/HIGHEST_INK_ABSORPTION 정의하는 데 사용되는 플래그입니다.
HT_FLAG_INVERT_8BPP_BITMASK_IDX GDI 하프톤은 CMY_INVERTED 모드 팔레트를 사용하여 픽셀당 8비트 요청 모드 표면 비트맵을 렌더링해야 합니다. CMY_INVERTED 모드 팔레트 설명 및 요구 사항은 GDI 8비트 픽셀당 CMY 마스크 모드 사용을 참조하세요.
HT_FLAG_LOW_INK_ABSORPTION
HT_FLAG_LOWER_INK_ABSORPTION
HT_FLAG_LOWEST_INK_ABSORPTION
디바이스의 용지는 일반적인 양의 잉크보다 적게 흡수되므로 GDI는 종이에 더 많은 잉크를 렌더링해야 합니다. 이러한 플래그는 잉크 흡수의 상대적 양을 나타내며, HT_FLAG_LOWER_INK_ABSORPTION HT_FLAG_LOW_INK_ABSORPTION 보다 덜 흡수를 나타내지만 HT_FLAG_LOWEST_INK_ABSORPTION 이상입니다.
HT_FLAG_NORMAL_INK_ABSORPTION 장치의 용지는 일반적인 양의 잉크를 흡수합니다.
HT_FLAG_OUTPUT_CMY 디바이스는 RGB 주 복제본이 아닌 CMY 주 복제본을 사용합니다. 이 플래그 값은 1 bpp 및 4 bpp 대상 화면에만 적용됩니다.
HT_FLAG_PRINT_DRAFT_MODE GDI의 앤티앨리어싱 코드를 사용하지 않도록 설정합니다.
HT_FLAG_SQUARE_DEVICE_PEL 디바이스 픽셀은 둥글지 않고 정사각형입니다(표시 전용 -- 프린터에는 둥근 픽셀이 필요).
HT_FLAG_USE_8BPP_BITMASK 디바이스는 흑백 인쇄를 사용합니다.

ulVRefresh

현재 디스플레이 모드의 비디오 새로 고침 속도입니다. 현재 모드의 새로 고침 빈도에 대해 미니포트 드라이버에서 반환하는 값입니다.

제어판 표시 프로그램은 ulVRefresh 멤버에 포함된 새로 고침 빈도를 표시합니다.

ulBltAlignment

이 멤버는 디바이스로 비트 블록 전송에 대한 기본 x 맞춤을 나타냅니다. 값이 0이면 비트 블록 전송이 가속화됨을 나타냅니다. 다른 무수는 비트 블록 전송이 가속화되지 않음을 나타내고 기본 가로 맞춤을 픽셀 배수로 제공합니다.

이 값은 시스템에서 창 위치의 기본 맞춤을 결정하는 데 사용되며 설치 중에 초기 전체 끌기 기본값을 설정하는 데도 사용됩니다. 값이 0이면 기본적으로 전체 끌기가 켜져야 하며, 0이 아닌 값은 기본적으로 전체 끌기를 해제해야 했음을 나타냅니다.

ulPanningHorzRes

ulPanningVertRes

드라이버에서 무시되고 초기화되지 않은 상태로 유지되어야 합니다.

xPanningAlignment

yPanningAlignment

드라이버에서 무시되고 초기화되지 않은 상태로 유지되어야 합니다.

cxHTPat

cyHTPat

사용자가 제공한 하프톤 디더 패턴의 너비와 높이를 각각 픽셀 단위로 지정합니다. cxHTPat 값은 HT_USERPAT_CX_MAX HT_USERPAT_CX_MIN 범위에 있어야 합니다. cyHTPat 값은 HT_USERPAT_CY_MAX HT_USERPAT_CY_MIN 범위에 있어야 합니다. 이러한 상수는 winddi.h에 정의됩니다. 자세한 내용은 다음 주의 섹션을 참조하세요.

pHTPatA

pHTPatB

pHTPatC

ulPrimaryOrder 멤버의 PRIMARY_ORDER_XXX 값으로 정의된 기본 색 A, B 및 C에 대한 사용자 정의 하프톤 디더 패턴을 각각 가리킵니다. 각 디더 패턴은 cyHTPatcxHTPat 크기의 유효한 2차원 바이트 배열이어야 합니다. 자세한 내용은 다음 주의 섹션을 참조하세요.

flShadeBlend

디바이스의 음영 및 혼합 기능을 나타내는 플래그 집합을 지정합니다. 표시 드라이버는 이 멤버를 무시해야 하며 0으로 설정된 상태로 두어야 합니다. 프린터 드라이버의 경우 드라이버가 이 멤버에 배치하는 값은 애플리케이션이 GetDeviceCaps(hdc, SHADEBLENDCAPS)를 호출할 때 GDI가 보고하는 값입니다. GetDeviceCaps 함수는 Microsoft Window SDK 설명서에 설명되어 있습니다.

ulPhysicalPixelCharacteristics

디스플레이 디바이스에서 픽셀을 형성하도록 색 조각을 구성하는 방법을 지정합니다. 디스플레이 디바이스의 색 조각은 프레임 버퍼의 RGB 순서와 완전히 독립적으로 RGB 순서 또는 BGR 순서로 정렬할 수 있습니다. 한 행의 모든 조각이 동일한 색인 가로 줄무늬로 색 조각을 구성할 수 있습니다. 또는 한 열의 모든 조각이 동일한 색인 세로 줄무늬로 색 조각을 구성할 수 있습니다. 세로 스트라이프는 각 픽셀에 대해 3개의 개별 조각을 행에 효과적으로 제공하므로 수평 하위 픽셀 해상도를 높이는 것이 좋습니다.

ulPhysicalPixelCharacteristics 멤버는 다음 표에 표시된 값 중 하나로 설정해야 합니다.

의미
PPC_DEFAULT 디스플레이 디바이스 물리적 픽셀 정보를 알 수 없습니다.
PPC_BGR_ORDER_HORIZONTAL_STRIPES 디스플레이 장치의 물리적 색 조각은 파란색, 녹색 및 빨간색 조각의 행으로 위에서 아래로 정렬됩니다.
PPC_BGR_ORDER_VERTICAL_STRIPES 디스플레이 장치의 물리적 색 조각은 왼쪽에서 오른쪽으로 파란색, 녹색 및 빨간색 조각의 열로 정렬됩니다.
PPC_RGB_ORDER_HORIZONTAL_STRIPES 디스플레이 장치의 실제 색 조각은 위에서 아래로 빨간색, 녹색 및 파란색 조각의 행으로 정렬됩니다.
PPC_RGB_ORDER_VERTICAL_STRIPES 디스플레이 장치의 물리적 색 조각은 왼쪽에서 오른쪽으로 빨간색, 녹색 및 파란색 조각의 열로 정렬됩니다.
PPC_UNDEFINED 디스플레이 디바이스 물리적 픽셀 정보는 알려져 있지만 지정된 열거형 중 하나로 표현할 수 없습니다. 열거형은 현재 LCD 기반 모니터에 적용할 수 있습니다. 드라이버는 다음 조건 중 하나가 충족되면 ulPhysicalPixelCharacteristics 를 PPC_UNDEFINED 설정해야 합니다. (이 목록은 포괄적이지는 않지만 가장 일반적인 조건을 다룹니다.)
  • 드라이버는 모니터가 LCD 장치가 아니라는 것을 알게 되었습니다.
  • 디바이스는 LCD 디바이스이지만 프레임 버퍼의 해상도는 크기 조정이 필요한 물리적 디스플레이의 기본 해상도와 다릅니다. 즉, 프레임 버퍼 픽셀과 디바이스 픽셀 사이에 더 이상 일대일 대응이 없기 때문에 크기 조정이 필요합니다.

ulPhysicalPixelGamma

디스플레이 디바이스의 감마를 지정합니다. 이 멤버는 실제 픽셀의 감마, 1000 배 또는 다음 값 중 하나로 설정해야 합니다. 예를 들어 감마 값 2.2는 2200으로 표시됩니다.

의미
PPG_DEFAULT 드라이버는 디바이스에 대한 감마에 대해 전혀 알지 않습니다.
PPG_SRGB 디바이스는 sRGB 감마를 사용합니다.

설명

GDI는 드라이버 제공 DrvEnablePDEV 함수를 호출하기 전에 이 구조를 초기화합니다.

xStyleStep, yStyleStepdenStyleStep 멤버는 화장품 선의 각 픽셀을 그릴 때 코스메틱 선 스타일이 어떻게 진행되어야 하는지 정의합니다. 각 픽셀의 스타일에 따라 고급 크기는 선이 x 스타일인지 y 스타일인지에 따라 달라지는 분수로 정의됩니다. 선이 x 스타일이면 x 방향으로 이동한 각 픽셀에 대한 소수 크기 dx/D 만큼 스타일이 진행됩니다. 그렇지 않으면 스타일이 y 방향으로 이동된 각 픽셀에 대해 dy/D 로 진행됩니다.

미리 정의된 선 스타일 PS_DOT 점들은 각각 하나의 단위 길이입니다. 드라이버가 xStyleStep 을 1로 정의하고 denStyleStep 을 5로 정의하면 점선이 5픽셀 온으로 구성되고 5픽셀 오프가 반복됩니다.

caps 멤버가 LONG 값인 경우에도 이러한 세 개 수는 각각 65536보다 작아야 합니다. 이러한 스타일 단계는 드라이버에 의해 정의되어 줄의 점과 대시가 출력 디바이스에서 만족스러운 크기인지 확인합니다. 가로 및 세로 단계는 비미사 가로 세로 비율에 맞게 수정할 수 있습니다. 예를 들어 픽셀이 너비보다 33% 높은 EGA 디스플레이에서 다음을 설정할 수 있습니다.

pdevcaps->xStyleStep   =  3;    // For an EGA
pdevcaps->yStyleStep   =  4;
pdevcaps->denStyleStep = 12;

이 경우 스타일이 각 픽셀에 대해 3/12 또는 1/4씩 진행되므로 가로 점선은 4픽셀 온, 4픽셀 오프입니다. 세로 점선은 3픽셀 온/3픽셀 오프입니다.

앞의 예제와 같이 x 및 y 스타일 단계가 모두 스타일 분모로 균등하게 나뉘면 스타일선이 더 잘 보입니다. 이렇게 하면 항상 길이가 같은 대시와 점이 제공됩니다.

GDI는 비트맵 함수가 디바이스가 자체 표면에서 수행하는 작업을 정확하게 에뮬레이트할 수 있도록 이 정보가 필요합니다. 애플리케이션은 이 정보에 액세스하여 스타일이 지정된 선에 대해 켜질 픽셀을 정확하게 결정할 수 있습니다. 스타일이 지정된 코스메틱 선도 참조하세요.

하프톤 관련 멤버인 cxHTPat, cyHTPat, pHTPatA, pHTPatBpHTPatC는 OEM Unidrv 렌더링 플러그 인에서 사용하여 하나 또는 세 개의 색으로 구성된 사용자 지정 하프톤 패턴을 정의할 수 있습니다. 이러한 멤버는 ulHTPatternSize 멤버가 HT_PATSIZE_USER 설정된 경우에만 확인됩니다. 이 경우 OEM은 이러한 멤버를 사용하여 리소스 파일에 저장되거나 OEM 사용자 지정 모듈에서 생성된 데이터를 기반으로 사용자 지정 하프톤 패턴을 정의할 수 있습니다. cxHTPatcyHTPat 멤버는 3개의 2차원 하프톤 패턴 배열 각각의 크기를 정의합니다. pHTPatA, pHTPatBpHTPatC 멤버는 각 색에 대한 각 패턴 배열을 가리킵니다. 패턴 배열을 하나만 사용하는 경우 pHTPatA, pHTPatB pHTPatC 가 해당 배열을 가리킵니다.

하프톤 디더 패턴의 특정 위치에 있는 각 바이트 임계값은 해당 출력 평면 위치의 픽셀이 켜지거나 꺼질지 여부를 결정합니다. 패턴 배열의 특정 위치에 있는 임계값 0은 해당 픽셀 위치가 무시됨을 나타냅니다(검정). 1에서 255까지의 임계값은 255개 수준의 회색으로 디더 패턴을 제공합니다. 출력 평면의 픽셀 값이 해당 위치의 임계값보다 크거나 같으면 픽셀이 켜집니다. 해당 임계값보다 작은 픽셀 값을 사용하면 출력 평면에서 해당 픽셀이 꺼집니다. 자세한 내용은 Microsoft 프린터 드라이버 사용자 지정에서사용자 지정된 하프톤을 참조하세요.

요구 사항

요구 사항
헤더 winddi.h(Winddi.h 포함)

추가 정보

CIECHROMA

COLORINFO

DrvBitBlt

DrvCopyBits

DrvEnablePDEV

DrvTextOut