IWiaImageFilter 인터페이스

IWiaImageFilter 인터페이스는 이미지 처리 필터 개발자가 구현하고 WIA(Windows Image Acquisition) 2.0에서 호출하는 확장 인터페이스입니다.

멤버

IWiaImageFilter 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IWiaImageFilter 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IWiaImageFilter 인터페이스에는 이러한 메서드가 있습니다.

메서드 Description
ApplyProperties 이미지 처리 필터가 드라이버(및 디바이스)에 속성을 다시 쓸 수 있도록 합니다.
FilterPreviewImage 미리 보기 이미지를 필터링합니다.
InitializeFilter 필터를 초기화합니다. 각 이미지를 다운로드하기 전에 WIA 2.0에서 호출합니다.
SetNewCallback 전달 호출에 사용할 이미지 처리 필터에 대한 새 애플리케이션 콜백을 설정합니다.

 

설명

이미지 처리 필터 개발자는 이 인터페이스와 IWiaTransferCallback 인터페이스를 구현해야 합니다.

WIA 2.0은 필터 메서드를 호출합니다. 애플리케이션에서 직접 호출되지 않습니다.

Microsoft는 스캐너에서 가져온 필터링되지 않은 원래 미리 보기 이미지를 캐시하는 WIA 2.0 미리 보기 구성 요소를 제공합니다. 애플리케이션은 CoCreateInstance를 사용하여 IWiaItem2::GetExtension을 사용하여 필터를 로드하는 WIA 2.0 미리 보기 구성 요소(CLSID_WiaPreview)의 instance 공동 만듭니다. 애플리케이션이 IWiaTransfer::D ownload를 호출하면 필터가 자동으로 호출됩니다.

이미지 처리 필터는 이미지를 스캔할 때 항상 실행됩니다. 애플리케이션은 이미징 필터를 먼저 적용하지 않고 스캐너에서 이미지를 가져올 수 없습니다.

필터는 최소한 밝기와 대비를 구현해야 합니다. 사용자에게 밝기 및 대비 컨트롤을 제공하는 일반적인 UI는 사용자에게 정확한 미리 보기를 표시할 수 있습니다.

이미지 처리 필터는 WiaTransferParams 구조체의 lMessage 멤버를 수정해서는 안 됩니다.

필요한 속성을 읽으려면 이미지 처리 필터는 IWiaPropertyStorage::QueryInterface를 호출하여 항목에서 가져오는 IWiaPropertyStorage 인터페이스에서 IWiaPropertyStorage::GetPropertyStream을 호출해야 합니다. 그런 다음 필터는 이 스트림에서 IPropertyStorage instance 인스턴스화하여 항목 속성을 읽을 수 있습니다. 이미지 처리 필터는 이 메서드가 드라이버의 drvReadItemProperties를 호출하기 때문에 IWiaPropertyStorage::ReadMultiple을 직접 호출해서는 안 되지만 WIA 2.0 서비스는 호출에서 drvAcquireItemData 드라이버를 이미 잠갔기 때문에 이 호출이 시간 초과 및 실패합니다.

필터에 관심이 있는 속성은 예를 들어 밝기 및 대비 설정일 수 있습니다. 필터는 일반적으로 pWiaItem2에서 이미지 형식과 미리 보기 속성인 WIA_DPS_PREVIEW 읽어야 합니다. 이러한 속성은 모두 필터링 프로세스에 사용됩니다.

WIA 2.0 구성 요소는 항상 필터링되지 않은 데이터를 이미지 처리 필터에 씁니다. 필터의 스트림에서 구현된 이미지 처리 알고리즘은 데이터를 두 번 이상 필터링할 수 있으며 데이터를 한 번 필터링하는 것과 동일한 결과를 생성하는 데 신경을 갖지 않아도 됩니다.

특히 일부 필터 관련 작업이 하드웨어에서 처리되는 경우 필터는 WIA_DPS_PREVIEW 속성에 주의해야 합니다. 예를 들어 특정 드라이버는 애플리케이션이 밝기를 WIA 2.0 항목으로 설정한 방법에 따라 스캐너 하드웨어의 램프 밝기를 변경할 수 있습니다. 최종 검사 중에(애플리케이션이 IWiaTransfer::D ownload를 호출할 때) 드라이버는 일반적으로 스캐너의 물리적 램프를 수정합니다. 이 경우 이미지 처리 필터는 밝기 처리를 전혀 수행할 필요가 없습니다. 그러나 미리 보기 검사 중에는 드라이버가 램프의 밝기를 수정해서는 안 됩니다. 대신 이미지 처리 필터에서만 처리해야 합니다. WIA 2.0 미리 보기 구성 요소와 이미지 처리 필터는 항목에 설정된 속성에 따라 정확한 이미지를 반환하는 것이 중요합니다.

이미지 처리 필터는 드라이버가 지원하는 모든 이미지 형식을 지원해야 합니다.

이미지 처리 필터에는 이미지를 가져오는 항목에 설정된 선택 영역에 해당하는 이미지가 항상 제공됩니다. 그러나 WIA_IPS_ROTATION 속성을 지원하는 경우 드라이버에서 이미지를 회전했을 수 있습니다.

이미지 처리 필터는 IWiaItem2::GetExtension을 통해 생성됩니다. 일반적으로 애플리케이션이 아니라 애플리케이션이 IWiaPreview::GetNewPreview 또는 IWiaTransfer::D ownload를 호출할 때 WIA 2.0 구성 요소에 의해 생성됩니다.

모든 COM(구성 요소 개체 모델) 인터페이스와 마찬가지로 IWiaImageFilter 인터페이스는 IUnknown 인터페이스 메서드를 상속합니다.

IUnknown 메서드 설명
IUnknown::QueryInterface 지원되는 인터페이스에 대한 포인터를 반환합니다.
IUnknown::AddRef 참조 횟수를 증가시킵니다.
IUnknown::Release 참조 횟수를 감소시킵니다.

 

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2008 [데스크톱 앱만 해당]
헤더
Wia.h
IDL
Wia.idl