Interfaz IWiaImageFilter
La interfaz IWiaImageFilter es una interfaz de extensión implementada por desarrolladores de filtros de procesamiento de imágenes y llamadas por Windows Image Acquisition (WIA) 2.0.
Miembros
La interfaz IWiaImageFilter hereda de la interfaz IUnknown . IWiaImageFilter también tiene estos tipos de miembros:
Métodos
La interfaz IWiaImageFilter tiene estos métodos.
Método | Descripción |
---|---|
ApplyProperties | Habilita el filtro de procesamiento de imágenes para volver a escribir propiedades en el controlador (y el dispositivo). |
FilterPreviewImage | Filtra la imagen de vista previa. |
InitializeFilter | Inicializa el filtro. Lo llama WIA 2.0 antes de descargar cada imagen. |
SetNewCallback | Establece una nueva devolución de llamada de aplicación para que el filtro de procesamiento de imágenes se use para reenviar llamadas. |
Comentarios
Los desarrolladores de filtros de procesamiento de imágenes deben implementar esta interfaz y la interfaz IWiaTransferCallback .
WIA 2.0 llama a métodos de filtro. Nunca se les llama directamente desde una aplicación.
Microsoft proporciona el componente de versión preliminar de WIA 2.0, que almacena en caché la imagen de vista previa original sin filtrar que se adquiere del analizador. Una aplicación usa CoCreateInstance para crear una instancia del componente de versión preliminar de WIA 2.0 (CLSID_WiaPreview), que carga el filtro mediante IWiaItem2::GetExtension. Se llama al filtro automáticamente cuando la aplicación llama a IWiaTransfer::D ownload.
El filtro de procesamiento de imágenes siempre se ejecuta cuando se examina una imagen. Una aplicación no puede adquirir una imagen del escáner sin tener aplicado primero el filtro de creación de imágenes.
Un filtro debe implementar el brillo y el contraste como mínimo. La interfaz de usuario común, que proporciona controles de brillo y contraste al usuario, puede mostrar vistas previas precisas al usuario.
Un filtro de procesamiento de imágenes nunca debe modificar el miembro lMessage de la estructura WiaTransferParams .
Para leer las propiedades necesarias, el filtro de procesamiento de imágenes debe llamar a IWiaPropertyStorage::GetPropertyStream en la interfaz IWiaPropertyStorage que obtiene del elemento mediante una llamada a IWiaImageFilter::QueryInterface. A continuación, el filtro puede crear una instancia de IPropertyStorage en esta secuencia para leer las propiedades de los elementos. El filtro de procesamiento de imágenes no debe llamar directamente a IWiaPropertyStorage::ReadMultiple porque este método llama al controlador drvReadItemProperties
, pero el servicio WIA 2.0 ya ha bloqueado el controlador en la drvAcquireItemData
llamada para que esta llamada se alevíe y produzca un error.
Las propiedades en las que está interesado el filtro podrían ser, por ejemplo, la configuración de brillo y contraste. Normalmente, el filtro también necesita leer el formato de imagen, así como la propiedad de vista previa, WIA_DPS_PREVIEW, de pWiaItem2. Todas estas propiedades se usan en el proceso de filtrado.
Los componentes de WIA 2.0 siempre escriben datos sin filtrar en el filtro de procesamiento de imágenes. El algoritmo de procesamiento de imágenes implementado por el flujo del filtro puede filtrar los datos más de una vez y no tiene que preocuparse por generar los mismos resultados que filtrar los datos una vez.
El filtro debe prestar atención a la propiedad WIA_DPS_PREVIEW , especialmente si algunas tareas relacionadas con filtros se controlan en hardware. Por ejemplo, un determinado controlador puede cambiar el brillo de la lámpara en el hardware del escáner en función de cómo la aplicación haya establecido el brillo en un elemento WIA 2.0. Durante el examen final (cuando la aplicación llama a IWiaTransfer::D ownload), el controlador normalmente modificaría la lámpara física del escáner. En este caso, es posible que el filtro de procesamiento de imágenes no tenga que realizar ningún procesamiento de brillo. Sin embargo, durante un examen de vista previa, el controlador no debe modificar el brillo de la lámpara; en su lugar, esto debe cuidarse únicamente en el filtro de procesamiento de imágenes. Es importante que el componente de versión preliminar de WIA 2.0 y el filtro de procesamiento de imágenes devuelvan imágenes precisas en función de las propiedades establecidas en el elemento.
Un filtro de procesamiento de imágenes debe admitir todos los formatos de imagen que admita el controlador.
El filtro de procesamiento de imágenes siempre recibe una imagen correspondiente al área de selección establecida en el elemento para el que estamos obteniendo la imagen. Sin embargo, tenga en cuenta que el controlador puede haber girado la imagen en caso de que admita la propiedad WIA_IPS_ROTATION .
El filtro de procesamiento de imágenes se crea a través de IWiaItem2::GetExtension, normalmente no por la aplicación, sino por los componentes de WIA 2.0 cuando una aplicación llama a IWiaPreview::GetNewPreview o IWiaTransfer::D ownload.
La interfaz IWiaImageFilter , como todas las interfaces del Modelo de objetos componentes (COM), hereda los métodos de interfaz IUnknown .
Métodos IUnknown | Descripción |
---|---|
IUnknown::QueryInterface | Devuelve punteros a las interfaces compatibles. |
IUnknown::AddRef | Incrementa el recuento de referencias. |
IUnknown::Release | Reduce el recuento de referencias. |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2008 [solo aplicaciones de escritorio] |
Encabezado |
|
IDL |
|