다음을 통해 공유


WIA RAW 데이터 헤더

RAW 데이터의 헤더는 다음과 같습니다.

DWORD Tag;         // must contain 'WRAW' (single byte ASCII characters)
DWORD Version;        // must contain 0x00010000
DWORD HeaderSize;       // contains amount of valid bytes in header
DWORD XRes;              // X (horizontal) resolution, in DPI
DWORD YRes;              // Y (vertical) resolution, in DPI
DWORD XExtent;           // image width, in pixels
DWORD YExtent;           // image height, in pixels
DWORD BytesPerLine;      // used only for uncompressed image data, 0 (unknown) for compressed data 
DWORD BitsPerPixel;      // number of bits per pixel (all channels)
DWORD ChannelsPerPixel;  // number of color channels (samples) within a pixel
DWORD DataType;    // current WIA_IPA_DATATYPE value describing the image
BYTE  BitsPerChannel[8]; // up to 8 channels per pixel, use as many as needed  
DWORD Compression;       // current WIA_IPA_COMPRESSION value
DWORD PhotometricInterp; // current WIA_IPS_PHOTOMETRIC_INTERP value
DWORD LineOrder;         // image line order as a WIA_LINE_ORDER value
DWORD RawDataOffset;     // offset position (in bytes, starting from 0) for the raw image data
DWORD RawDataSize;       // size of raw image data, in bytes
DWORD PaletteOffset;     // offset position (in bytes, starting from 0) for the palette (0 if none)
DWORD PaletteSize;       // size, in bytes, of color palette table (0 if no palette is required) 

추가 헤더 필드 설명

DWORD 압축
압축된 팩스 전송(그룹 3.1, 3.2d, 4)에 사용되는 Nikon의 압축된 NEF 및 헤더 없는 압축 데이터와 같은 압축된 원시 형식을 허용합니다. 이 필드의 값은 WIA_IPA_COMPRESSION 상수이며 특수 애플리케이션에 대한 공급업체별 값일 수 있습니다. 기본값은 WIA_COMPRESSION_NONE.

압축 예제:

G4 압축 데이터(WIA_COMPRESSION_G4)는 TIFF 파일(WiaImgFmt_TIFF) 내에서 또는 원시 형식(WiaImgFmt_RAW)을 사용하여 전송할 수 있습니다.

JPEG 압축 데이터(WIA_COMPRESSION_JPEG)는 JFIF 형식(WiaImgFmt_JPEG), EEXIF 형식(WiaImgFmt_EXIF) 또는 TIFF 형식(WiaImgFmt_TIFF)을 사용하여 전송할 수 있습니다. 원시 형식(WiaImgFmt_RAW)을 사용하여 전송 내에서 교환 형식(JFIF, EEXIF) 중 하나로 형식이 지정된 JPEG 데이터를 전송할 수 없습니다. 대신 다른 JPEG 호환 형식 중 하나를 사용해야 합니다.

WIA 압축 상수에 대한 자세한 내용은 WIA_IPA_COMPRESSION 속성을 참조하세요.

DWORD PhotometricInterp
전송되는 이미지에 대한 사진 메트릭 해석을 설명합니다. 이 필드는 흑백(1bpp) 및 회색조(4bpp 이상) 이미지에 필요합니다. 이러한 이미지는 WIA_PHOTO_WHITE_1(흰색이 1, 검은색이 0인 경우) 또는 WIA_PHOTO_WHITE_0(흰색이 0이고 검은색이 1인 경우) 흰색과 검은색의 값을 나타내야 합니다. 이 필드는 색 이미지에 대한 선택 사항입니다.

DWORD LineOrder
이미지 데이터의 줄/행 순서가 위쪽에서 아래쪽 또는 아래쪽에서 위쪽으로 정렬되는지를 설명합니다. 이를 위해 wiadef.h 에 두 개의 새 상수가 정의되었습니다.

#define  WIA_LINE_ORDER_TOP_TO_BOTTOM        0x00000001 
#define  WIA_LINE_ORDER_BOTTOM_TO_TOP        0x00000002

이에 대해 정의된 새 속성이 없습니다. 구성 가능한 검사 설정이 아닙니다. LingOrder 는 이미지 데이터 전송을 실행할 때만 중요합니다.

DWORD RawDataSize
머리글 다음에 있는 원시 데이터의 크기(바이트)를 나타냅니다(선택적 색상표는 포함하지 않음). 애플리케이션은 이 필드를 사용하여 성공적인 이미지 전송이 완료되었는지 확인할 수 있습니다. 전송이 시작될 때(및 헤더가 스트림에 기록됨) 미니드라이버에 이 정보를 알 수 없는 경우(예: 자동 테두리 검색을 사용하여 이미지를 스캔할 때) XExtent 및 YExtent 필드가 처리되는 방식과 유사하게 이미지 데이터 전송의 끝에 이 필드를 입력하려면 미니 드라이버가 필요합니다.

DWORD PaletteOffset
데이터 스트림에서 색상표가 시작되는 오프셋(바이트)을 포함합니다. 이 오프셋은 헤더가 끝나는 위치 0에서 시작됩니다. 색상표 및 원시 이미지 데이터는 임의의 순서로 원시 헤더를 따를 수 있으며 필요하지 않은 경우 팔레트를 생략할 수 있습니다.

DWORD 색상표 크기 조정
색상표의 크기(바이트)를 포함합니다. 원시 이미지 데이터에 연결할 팔레트가 필요하지 않은 경우 미니드라이버에서 이 필드를 0으로 설정해야 합니다. 이 필드는 팔레트의 항목 수와 관련이 없습니다.

흑백 및 회색조 데이터는 색상표를 생략하거나(팔레트를 빌드하는 데 필요한 정보가 PhotometricInterpretation 필드에 포함되어 있기 때문에) PhotometricInterpretation 필드와 함께 최적화된 팔레트를 제공할 수 있습니다.

인덱싱된 이미지의 경우 색상표의 항목 수는 현재 BitsPerPixel 값(2 ^ BitsPerPixel)에 의해 결정됩니다. 예를 들어 1bpp의 경우 2개 항목, 4bpp의 경우 16개 항목, 8bpp의 경우 256개 항목). 색상표 항목의 형식은 BitsPerChannel 필드의 항목 수(각 색상표 항목의 필드/채널 수) 및 BitsPerChannel 값(각 필드에는 해당 채널의 BitsPerChannel 필드에 지정된 값이 정확히 포함됨)에 따라 결정됩니다. 각 색상표 항목 필드는 BYTE에 맞춰야 합니다.