wiasDownSampleBuffer 함수(wiamdef.h)

wiasDownSampleBuffer 함수는 DWORD 정렬 픽셀 데이터의 버퍼를 사용하여 지정된 크기와 해상도로 다운샘플링합니다(낮은 해상도의 이미지 데이터 생성).

통사론

HRESULT wiasDownSampleBuffer(
            LONG                  lFlags,
  [in, out] WIAS_DOWN_SAMPLE_INFO *pInfo
);

매개 변수

lFlags

이 함수의 동작을 결정하는 플래그 집합을 지정합니다. 현재 다음 플래그만 정의됩니다.

의미
WIAS_GET_DOWNSAMPLED_SIZE_ONLY 다운샘플링된 데이터를 대상 버퍼에 복사하지 마세요. 대신 WIAS_DOWN_SAMPLE_INFO 구조체의 다음 멤버를 설정합니다. ulDownSampledHeight, ulDownSampleWidth, ulAlignedHeight, ulAlignedWidth.

[in, out] pInfo

다운샘플링 작업에 필요한 모든 정보를 포함하는 WIAS_DOWN_SAMPLE_INFO 구조체에 대한 포인터입니다.

반환 값

성공하면 함수는 S_OK 반환합니다.

함수가 실패하면 표준 COM 오류 또는 WIA 오류 코드 중 하나가.

발언

wiasDownSampleBuffer 함수는 다음 두 가지 방법 중 하나에서 사용할 수 있습니다.

  • 호출자는 ulDownSampledWidth 설정하고 WIA_DOWN_SAMPLE_INFO 구조체의 ulDownSampledHeight 멤버를 다운샘플링된(즉, 출력) 너비와 높이를 지정합니다.

  • 호출자는 ulDownSampledWidth 설정하고 ulDownSampledHeightWIA_DOWN_SAMPLE_INFO 구조체의 멤버를 0으로 설정하여 함수가 출력 너비와 높이를 선택해야 함을 나타냅니다.

함수가 선택하는 출력 너비 및 높이 값을 확인하려면 lFlags 매개 변수를 WIAS_GET_DOWNSAMPLED_SIZE_ONLY설정하여 이 함수를 호출합니다. 반환 시 ulDownSampledWidthulDownSampledHeight 멤버가 새 값으로 설정됩니다. 이 경우 다운샘플링이 수행되지 않습니다.

이 함수의 호출자는 WIA_DOWN_SAMPLE_INFO 구조체의 다음 멤버를 채우는 데 필요합니다.

  • ulOriginalWidth

  • ulOriginal Height

  • ulBitsPerPixel

  • ulXRes

  • ulYRes

  • pSrcBuffer

wiasDownSampleBuffer 함수는 ulBitsPerPixel 픽셀당 1, 8 및 24비트 데이터에 해당하는 1, 8 또는 24로 예상합니다. 호출자는 다음 WIA_DOWN_SAMPLE_INFO 구조체 멤버를 입력하여 다운샘플링된 데이터의 크기를 지정할 수도 있습니다. - ulDownSampledWidthulDownSampledHeight

다운샘플링된 데이터를 수신하는 버퍼가 이미 할당된 경우 호출자는 다음 WIA_DOWN_SAMPLE_INFO 구조체 멤버를 채워야 합니다.

  • ulDestBufSize

  • ulSrcBufSize

  • pDestBuffer

호출자가 pDestBuffer NULL설정하면 대상 버퍼가 WIA 서비스에 의해 할당됩니다. 이 함수에서 반환되면 pDestBuffer 대상 버퍼를 가리킵니다. 호출자는 작업이 완료되면 이 메모리를 해제하고 버퍼에서 CoTaskMemFree 호출하여 이 작업을 수행합니다.

이 함수는 부분 출력 줄을 생성할 수 없으므로 입력 버퍼의 검색 줄 수는 배율 인수의 정수 배수여야 합니다. 예를 들어 입력 버퍼에 해당하는 50dpi 이미지로 다운샘플링하려는 600dpi에서 샘플링된 이미지가 포함되어 있다고 가정합니다. 이 경우 원래 이미지를 12(600/50 = 12)로 축소합니다. 즉, 함수는 생성되는 각 출력 줄에 대해 12개의 입력 줄을 받아야 합니다.

원본 이미지에 R해상도가 dpi인 경우 및 R dpi의 해상도를 사용하여 이미지로 스케일 다운되어야 하며, 스케일 다운 요소는/RR, 입력 버퍼의 줄 수는/RR배수여야 합니다. 스캔 헤드가 원본 이미지의 마지막 밴드에 도달하고 입력 버퍼에 출력 줄을 생성할 수 있는 검사 줄이 너무 적으면 입력 버퍼에 필요한 수의 데이터 줄이 포함되도록 패딩합니다. 이렇게 하지 않으면 예측할 수 없는 결과가 발생하며 드라이버 크래시가 발생할 수도 있습니다.

요구 사항

요구
대상 플랫폼 바탕 화면
헤더 wiamdef.h(Wiamdef.h 포함)
라이브러리 Wiaservc.lib
DLL Wiaservc.dll

참고 항목

WIAS_DOWN_SAMPLE_INFO