BITMAPV5HEADER 구조체(wingdi.h)
BITMAPV5HEADER 구조는 비트맵 정보 헤더 파일입니다. BITMAPINFOHEADER 구조체의 확장 버전입니다.
구문
typedef struct {
DWORD bV5Size;
LONG bV5Width;
LONG bV5Height;
WORD bV5Planes;
WORD bV5BitCount;
DWORD bV5Compression;
DWORD bV5SizeImage;
LONG bV5XPelsPerMeter;
LONG bV5YPelsPerMeter;
DWORD bV5ClrUsed;
DWORD bV5ClrImportant;
DWORD bV5RedMask;
DWORD bV5GreenMask;
DWORD bV5BlueMask;
DWORD bV5AlphaMask;
DWORD bV5CSType;
CIEXYZTRIPLE bV5Endpoints;
DWORD bV5GammaRed;
DWORD bV5GammaGreen;
DWORD bV5GammaBlue;
DWORD bV5Intent;
DWORD bV5ProfileData;
DWORD bV5ProfileSize;
DWORD bV5Reserved;
} BITMAPV5HEADER, *LPBITMAPV5HEADER, *PBITMAPV5HEADER;
멤버
bV5Size
구조체에 필요한 바이트 수입니다. 애플리케이션은 이 멤버를 사용하여 사용 중인 비트맵 정보 헤더 구조를 결정해야 합니다.
bV5Width
비트맵의 너비(픽셀)입니다.
bV5Compression이 BI_JPEG 또는 BI_PNG 경우 bV5Width 멤버는 압축 해제된 JPEG 또는 PNG 이미지의 너비를 픽셀 단위로 지정합니다.
bV5Height
비트맵의 높이(픽셀)입니다. bV5Height 값이 양수이면 비트맵은 상향식 DIB이고 원점은 왼쪽 아래 모서리입니다. bV5Height 값이 음수이면 비트맵은 하향식 DIB이고 원본은 왼쪽 위 모서리입니다.
bV5Height가 하향식 DIB를 나타내는 음수이면 bV5Compression은 BI_RGB 또는 BI_BITFIELDS 합니다. 하향식 DIB는 압축할 수 없습니다.
bV5Compression이 BI_JPEG 또는 BI_PNG 경우 bV5Height 멤버는 압축 해제된 JPEG 또는 PNG 이미지의 높이를 픽셀 단위로 지정합니다.
bV5Planes
대상 디바이스의 평면 수입니다. 이 값은 1로 설정해야 합니다.
bV5BitCount
각 픽셀을 정의하는 비트 수와 비트맵의 최대 색 수입니다.
이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
0 | 픽셀당 비트 수가 지정되거나 JPEG 또는 PNG 파일 형식으로 암시됩니다. |
1 | 비트맵은 단색이며 BITMAPINFO의 bmiColors 멤버에는 두 개의 항목이 포함됩니다. 비트맵 배열의 각 비트는 픽셀을 나타냅니다. 비트가 명확하면 픽셀이 bmiColors 색 표에 있는 첫 번째 항목의 색으로 표시됩니다. 비트가 설정된 경우 픽셀의 표에 있는 두 번째 항목의 색이 있습니다. |
4 | 비트맵은 최대 16가지 색을 가지며 BITMAPINFO의 bmiColors 멤버에는 최대 16개의 항목이 포함됩니다. 비트맵의 각 픽셀은 색 테이블에 4비트 인덱스로 표시됩니다. 예를 들어 비트맵의 첫 번째 바이트가 0x1F 경우 바이트는 2픽셀을 나타냅니다. 첫 번째 픽셀은 두 번째 테이블 항목의 색을 포함하고 두 번째 픽셀은 16번째 테이블 항목의 색을 포함합니다. |
8 | 비트맵은 최대 256가지 색을 가지며 BITMAPINFO의 bmiColors 멤버에는 최대 256개의 항목이 포함됩니다. 이 경우 배열의 각 바이트는 단일 픽셀을 나타냅니다. |
16 | 비트맵의 최대 색은 2^16개입니다. BITMAPV5HEADER 구조체의 bV5Compression 멤버가 BI_RGB 경우 BITMAPINFO의 bmiColors 멤버는 NULL입니다. 비트맵 배열의 각 WORD 는 단일 픽셀을 나타냅니다. 빨간색, 녹색 및 파란색의 상대적 강도는 각 색 구성 요소에 대해 5비트로 표시됩니다. 파란색 값은 가장 중요한 5비트이고 녹색과 빨간색의 경우 각각 5비트입니다. 가장 중요한 비트는 사용되지 않습니다.
bmiColors 색 테이블은 색상표 기반 디바이스에서 사용되는 색을 최적화하는 데 사용되며, BITMAPV5HEADERbV5ClrUsed 멤버가 지정한 항목 수를 포함해야 합니다. BITMAPV5HEADERbV5Compression 멤버가 BI_BITFIELDS 경우 bmiColors 멤버에는 각각 각 픽셀의 빨간색, 녹색 및 파란색 구성 요소를 지정하는 세 개의 DWORD 색 마스크가 포함됩니다. 비트맵 배열의 각 WORD 는 단일 픽셀을 나타냅니다.
bV5Compression 멤버가 BI_BITFIELDS 경우 각 DWORD 마스크에 설정된 비트는 연속되어야 하며 다른 마스크의 비트와 겹치지 않아야 합니다. 픽셀의 모든 비트를 사용할 필요가 없습니다. |
24 | 비트맵의 색은 최대 2^24개이고 BITMAPINFO의 bmiColors 멤버는 NULL입니다. 비트맵 배열의 각 3 바이트 트리플렛은 각각 픽셀에 대해 파란색, 녹색 및 빨간색의 상대적 강도를 나타냅니다. bmiColors 색 테이블은 색상표 기반 디바이스에서 사용되는 색을 최적화하는 데 사용되며, BITMAPV5HEADER 구조체의 bV5ClrUsed 멤버가 지정한 항목 수를 포함해야 합니다. |
32 | 비트맵의 색은 최대 2^32개입니다. BITMAPV5HEADER bV5Compression 멤버가 BI_RGB 경우 BITMAPINFO의 bmiColors 멤버는 NULL입니다. 비트맵 배열의 각 DWORD 는 픽셀에 대해 파란색, 녹색 및 빨간색의 상대적 강도를 나타냅니다. 파란색 값은 가장 중요한 8비트이고 녹색과 빨간색의 경우 각각 8비트입니다. 각 DWORD 의 높은 바이트는 사용되지 않습니다. bmiColors 색 테이블은 색상표 기반 디바이스에서 사용되는 색을 최적화하는 데 사용되며, BITMAPV5HEADERbV5ClrUsed 멤버가 지정한 항목 수를 포함해야 합니다. BITMAPV5HEADERbV5Compression 멤버가 BI_BITFIELDS 경우 bmiColors 멤버에는 각 픽셀의 빨간색, 녹색 및 파란색 구성 요소를 지정하는 세 개의 DWORD 색 마스크가 포함됩니다. 비트맵 배열의 각 DWORD 는 단일 픽셀을 나타냅니다. |
bV5Compression
비트맵이 압축되지 않도록 지정합니다. bV5RedMask, bV5GreenMask 및 bV5BlueMask 멤버는 각 픽셀의 빨간색, 녹색 및 파란색 구성 요소를 지정합니다. 16-bpp 및 32bpp 비트맵과 함께 사용할 때 유효합니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
BI_RGB | 압축되지 않은 형식입니다. |
BI_RLE8 | 8bpp의 비트맵에 대한 RLE(실행 길이 인코딩) 형식입니다. 압축 형식은 개수 바이트와 색 인덱스가 포함된 바이트로 구성된 2 바이트 형식입니다. bV5Compression이 BI_RGB bV5BitCount 멤버가 16, 24 또는 32인 경우 비트맵 배열은 색 테이블 인덱스를 사용하는 대신 파란색, 녹색 및 빨간색의 실제 강도를 지정합니다. 자세한 내용은 비트맵 압축을 참조하세요. |
BI_RLE4 | 4bpp의 비트맵에 대한 RLE 형식입니다. 압축 형식은 카운트 바이트 뒤에 두 개의 단어 길이 색 인덱스로 구성된 2 바이트 형식입니다. 자세한 내용은 비트맵 압축을 참조하세요. |
BI_BITFIELDS | 비트맵이 압축되지 않고 각 픽셀의 빨간색, 녹색 및 파란색 구성 요소에 대한 색 마스크가 bV5RedMask, bV5GreenMask 및 bV5BlueMask 멤버에 지정되도록 지정합니다. 16-bpp 및 32bpp 비트맵과 함께 사용할 때 유효합니다. |
BI_JPEG | 이미지가 JPEG 파일 교환 형식을 사용하여 압축되도록 지정합니다. JPEG 압축은 손실에 대한 압축을 절상합니다. 눈에 띄는 손실이 거의 없는 20:1의 압축 비율을 달성할 수 있습니다. |
BI_PNG | 이미지가 PNG 파일 교환 형식을 사용하여 압축되도록 지정합니다. |
bV5SizeImage
이미지의 크기(바이트)입니다. BI_RGB 비트맵의 경우 0으로 설정할 수 있습니다.
bV5Compression이 BI_JPEG 또는 BI_PNG 경우 bV5SizeImage는 JPEG 또는 PNG 이미지 버퍼의 크기입니다.
bV5XPelsPerMeter
비트맵에 대한 대상 디바이스의 가로 해상도(미터당 픽셀 단위)입니다. 애플리케이션은 이 값을 사용하여 현재 디바이스의 특성과 가장 일치하는 리소스 그룹에서 비트맵을 선택할 수 있습니다.
bV5YPelsPerMeter
비트맵에 대한 대상 디바이스의 세로 해상도(미터당 픽셀 단위)입니다.
bV5ClrUsed
비트맵에서 실제로 사용되는 색 테이블의 색 인덱스 수입니다. 이 값이 0이면 비트맵은 bV5Compression으로 지정된 압축 모드에 대해 bV5BitCount 멤버 값에 해당하는 최대 색 수를 사용합니다.
bV5ClrUsed가 0이 아니고 bV5BitCount가 16보다 작은 경우 bV5ClrUsed 멤버는 그래픽 엔진 또는 디바이스 드라이버가 액세스하는 실제 색 수를 지정합니다. bV5BitCount가 16 이상인 경우 bV5ClrUsed 멤버는 시스템 색상표의 성능을 최적화하는 데 사용되는 색 테이블의 크기를 지정합니다. bV5BitCount가 16 또는 32인 경우 최적의 색상표는 BITMAPV5HEADER 바로 다음에 시작됩니다. bV5ClrUsed가 0이 아닌 경우 색 테이블은 palettized 디바이스에서 사용되고 bV5ClrUsed는 항목 수를 지정합니다.
bV5ClrImportant
비트맵을 표시하는 데 필요한 색 인덱스 수입니다. 이 값이 0이면 모든 색이 필요합니다.
bV5RedMask
각 픽셀의 빨간색 구성 요소를 지정하는 색 마스크는 bV5Compression 이 BI_BITFIELDS 설정된 경우에만 유효합니다.
bV5GreenMask
각 픽셀의 녹색 구성 요소를 지정하는 색 마스크는 bV5Compression 이 BI_BITFIELDS 설정된 경우에만 유효합니다.
bV5BlueMask
각 픽셀의 파란색 구성 요소를 지정하는 색 마스크는 bV5Compression 이 BI_BITFIELDS 설정된 경우에만 유효합니다.
bV5AlphaMask
각 픽셀의 알파 구성 요소를 지정하는 색 마스크입니다.
bV5CSType
DIB의 색 공간입니다.
다음 표에서는 bV5CSType의 값을 지정합니다.
값 | 의미 |
---|---|
LCS_CALIBRATED_RGB | 이 값은 엔드포인트 및 감마 값이 적절한 필드에 제공된다는 것을 의미합니다. |
LCS_sRGB | 비트맵이 sRGB 색 공간에 있도록 지정합니다. |
LCS_WINDOWS_COLOR_SPACE | 이 값은 비트맵이 시스템 기본 색 공간인 sRGB에 있음을 나타냅니다. |
PROFILE_LINKED | 이 값은 bV5ProfileData 가 사용할 프로필의 파일 이름을 가리킨다는 것을 나타냅니다(감마 및 엔드포인트 값은 무시됨). |
PROFILE_EMBEDDED | 이 값은 bV5ProfileData 가 사용할 프로필이 포함된 메모리 버퍼를 가리킨다는 것을 나타냅니다(감마 및 엔드포인트 값은 무시됨). |
논리 색 공간을 정의하는 정보는 LOGCOLORSPACE 구조를 참조하세요.
bV5Endpoints
비트맵과 연결된 논리 색 공간에 대한 빨간색, 녹색 및 파란색 엔드포인트에 해당하는 세 가지 색의 x, y 및 z 좌표를 지정하는 CIEXYZTRIPLE 구조체입니다. bV5CSType 멤버가 LCS_CALIBRATED_RGB 지정하지 않으면 이 멤버는 무시됩니다.
bV5GammaRed
빨간색의 톤 응답 곡선입니다. bV5CSType이 LCS_CALIBRATED_RGB 설정된 경우에 사용됩니다. 부호 없는 고정 16.16 형식으로 지정합니다. 상위 16비트는 부호 없는 정수 값입니다. 하위 16비트 는 소수 부분입니다.
bV5GammaGreen
녹색의 톤 응답 곡선입니다. bV5CSType이 LCS_CALIBRATED_RGB 설정된 경우에 사용됩니다. 부호 없는 고정 16.16 형식으로 지정합니다. 상위 16비트는 부호 없는 정수 값입니다. 하위 16비트 는 소수 부분입니다.
bV5GammaBlue
파란색의 톤 응답 곡선입니다. bV5CSType이 LCS_CALIBRATED_RGB 설정된 경우에 사용됩니다. 부호 없는 고정 16.16 형식으로 지정합니다. 상위 16비트는 부호 없는 정수 값입니다. 하위 16비트 는 소수 부분입니다.
bV5Intent
비트맵에 대한 렌더링 의도입니다. 다음 값 중 하나일 수 있습니다.
값 | Intent | ICC 이름 | 의미 |
---|---|---|---|
LCS_GM_ABS_COLORIMETRIC | 일치 | 절대 색 메트릭 | 흰색 점을 유지합니다. 대상 영역에서 가장 가까운 색에 색을 일치합니다. |
LCS_GM_BUSINESS | Graphic | 채도 | 채도를 유지합니다. 비즈니스 차트 및 비조정 색이 필요한 기타 상황에 사용됩니다. |
LCS_GM_GRAPHICS | 증명 | 상대 색 메트릭 | 색 일치를 유지 관리합니다. 그래픽 디자인 및 명명된 색에 사용됩니다. |
LCS_GM_IMAGES | 그림 | 인식 | 대비를 유지합니다. 사진 및 자연 이미지에 사용됩니다. |
bV5ProfileData
BITMAPV5HEADER 구조체의 시작부터 프로필 데이터의 시작까지의 오프셋(바이트)입니다. 프로필이 포함된 경우 프로필 데이터는 실제 프로필이며 연결됩니다. (프로필 데이터는 프로필의 null로 종료된 파일 이름입니다.) 유니코드 문자열일 수 없습니다. Windows 문자 집합(코드 페이지 1252)의 문자만 구성해야 합니다. bV5CSType 멤버가 PROFILE_LINKED 또는 PROFILE_EMBEDDED 지정하지 않으면 이러한 프로필 멤버는 무시됩니다.
bV5ProfileSize
포함된 프로필 데이터의 크기(바이트)입니다.
bV5Reserved
이 멤버가 예약되었습니다. 해당 값은 0으로 설정해야 합니다.
설명
bV5Height가 하향식 DIB를 나타내는 음수인 경우 bV5Compression은 BI_RGB 또는 BI_BITFIELDS 합니다. 하향식 DIB는 압축할 수 없습니다.
ICM(독립 색 관리 인터페이스) 2.0을 사용하면 ICC(International Color Consortium) 색 프로필을 DIB(DIB)에 연결하거나 포함할 수 있습니다. 자세한 내용은 구조체 사용을 참조하세요.
DIB가 메모리에 로드되면 프로필 데이터(있는 경우)가 색 테이블을 따라야 하며 bV5ProfileData 는 BITMAPV5HEADER 구조의 시작 부분에서 프로필 데이터의 오프셋을 제공해야 합니다. bV5ProfileData는 BITMAPV5HEADER 구조체의 시작부터 프로필 데이터의 시작까지의 오프셋(바이트)이므로 bV5ProfileData에 저장된 값은 BITMAPV5HEADER 인수가 지정된 sizeof 연산자가 반환하는 값과 다릅니다. 비트맵 비트는 메모리의 색 테이블을 따르지 않습니다. 애플리케이션은 DIB를 메모리에 로드한 후 bV5ProfileData 멤버를 수정해야 합니다.
압축된 DIB의 경우 프로필 데이터는 파일 형식과 유사한 비트맵 비트를 따라야 합니다. bV5ProfileData 멤버는 BITMAPV5HEADER 처음부터 프로필 데이터의 오프셋을 계속 제공해야 합니다.
애플리케이션은 bV5Size가 BITMAPV5HEADER 크기와 같고 bV5CSType이 PROFILE_EMBEDDED 또는 PROFILE_LINKED 경우에만 프로필 데이터에 액세스해야 합니다.
프로필이 연결된 경우 프로필의 경로는 CreateFile 함수를 사용하여 열 수 있는 정규화된 이름(네트워크 경로 포함)일 수 있습니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | wingdi.h(Windows.h 포함) |