이미지 처리 필터 소개
이미지 처리 필터는 WIA 확장입니다. 이미지 처리 필터는 두 가지 주요 용도로 사용됩니다.
이미지 처리 코드를 드라이버에서 분리할 수 있도록 합니다. 예를 들어 이미지 처리 필터를 사용하여 이미지의 밝기와 대비를 수정하고 기울기를 보정하거나 회전을 수행할 수 있습니다. 이미지 처리 필터는 사용자 모드 드라이버 DLL과는 별도로 자체 DLL에 있습니다. 이미지 처리 필터는 필터링을 수행하는 드라이버에서 필터링되지 않은 이미징 데이터를 받습니다.
정확한 라이브 미리 보기를 사용하도록 설정합니다. 이미지 처리 필터는 정확한 라이브 미리 보기를 제공하는 Windows Vista WIA 미리 보기 구성 요소(Microsoft Windows SDK 설명서에 설명됨)의 새로운 기능에서 사용됩니다. 이 컨텍스트에서 "라이브"는 애플리케이션이 이 섹션의 뒷부분에 설명된 몇 가지 속성 설정을 변경하면 스캐너에서 이미지를 다시 가져올 필요가 없다는 것을 의미합니다. 필터링은 완전히 별도의 이미지의 임의 필터가 아닌 실제 미리 보기 이미지의 공급업체 구성 요소에 의해 실제로 수행되므로 미리 보기가 정확합니다.
정확한 미리 보기를 제공하기 위해 필터는 최소한 밝기 및 대비 속성을 구현해야 합니다. 따라서 사용자에게 밝기 및 대비 컨트롤을 제공하는 일반적인 UI가 정확한 미리 보기를 표시할 수 있습니다.
이미지 처리 필터는 이미지를 스캔할 때 항상 실행됩니다. 따라서 애플리케이션이 이미지 처리 필터를 먼저 적용하지 않고 스캐너에서 이미지를 가져올 수 있는 방법은 없습니다. 애플리케이션은 필터를 인식할 필요가 없습니다.
Microsoft는 스캐너에서 가져온 필터링되지 않은 원래 미리 보기 이미지를 캐시하는 WIA 미리 보기 구성 요소를 제공합니다. 미리 보기 구성 요소를 사용하면 스캐너에서 이미지를 다시 가져올 필요 없이 이미지에 필터를 여러 번 적용할 수 있습니다. WIA 미리 보기 구성 요소는 일반적으로 애플리케이션에서 사용자가 대비 및 밝기와 같은 설정을 변경할 수 있는 경우 미리 보기 이미지에 사용됩니다. 사용자가 설정을 변경하는 동안 애플리케이션은 이미지를 다시 검사하지 않고도 미리 보기 창에 결과 이미지를 지속적으로 표시할 수 있습니다.
이미지 처리 필터는 프로세스 내 COM 구성 요소로 실행되는 WIA 확장입니다. 분할 필터와 달리 애플리케이션은 일반적으로 IWiaItem2::GetExtension 호출하여 이미지 처리 필터 자체의 인스턴스를 만들지 않습니다(Windows SDK 설명서에 설명됨). 대신 애플리케이션은 WIA 미리 보기 구성 요소의 인스턴스를 만듭니다. 그러면 IWiaItem2::GetExtension 메서드를 사용하여 실제 이미지 처리 필터를 로드합니다. 또한 이미지 처리 필터는 애플리케이션이 IWiaTransfer::Download을 호출하면 자동으로 시작됩니다.
이미지 처리 필터는 드라이버에 연결되며 일반적으로 드라이버와 함께 배포됩니다. WIA 미리 보기 구성 요소는 sti.dll에서 사용할 수 있으며 운영 체제와 함께 제공됩니다.
다음 그림에서는 WIA 구성 요소가 애플리케이션 프로세스에 로드하는 이미지 처리 필터를 보여 줍니다. 둘 이상의 이미지 처리 필터 인스턴스가 동시에 애플리케이션 프로세스에 로드될 수 있으므로 필터 쓰기는 이에 주의해야 합니다. 예를 들어 전역(정적) 변수를 사용하는 경우 필터 작성기는 적절한 동기화를 보장해야 합니다.
wia 구성 요소가 애플리케이션 프로세스에 로드하는 이미지 처리 필터를 보여 주는