Compartilhar via


Interface IWiaImageFilter

A interface IWiaImageFilter é uma interface de extensão implementada por desenvolvedores de filtro de processamento de imagens e chamada pelo WINDOWS Image Acquisition (WIA) 2.0.

Membros

A interface IWiaImageFilter herda da interface IUnknown . IWiaImageFilter também tem esses tipos de membros:

Métodos

A interface IWiaImageFilter tem esses métodos.

Método Descrição
ApplyProperties Habilita o filtro de processamento de imagem para gravar as propriedades de volta no driver (e no dispositivo).
FilterPreviewImage Filtra a imagem de visualização.
InitializeFilter Inicializa o filtro. Chamado pelo WIA 2.0 antes de cada download de imagem.
SetNewCallback Define um novo retorno de chamada de aplicativo para o filtro de processamento de imagem a ser usado para encaminhar chamadas.

 

Comentários

Os desenvolvedores de filtro de processamento de imagem devem implementar essa interface e a interface IWiaTransferCallback .

O WIA 2.0 chama métodos de filtro. Eles nunca são chamados diretamente de um aplicativo.

A Microsoft fornece o Componente de Visualização do WIA 2.0, que armazena em cache a imagem de visualização original não filtrada adquirida do verificador. Um aplicativo usa CoCreateInstance para cocriar uma instância do Componente de Visualização do WIA 2.0 (CLSID_WiaPreview), que carrega o filtro usando IWiaItem2::GetExtension. O filtro é chamado automaticamente quando o aplicativo chama IWiaTransfer::D ownload.

O filtro de processamento de imagem sempre é executado quando uma imagem é verificada. Um aplicativo não pode adquirir uma imagem do verificador sem ter o filtro de imagem aplicado primeiro.

Um filtro deve implementar o brilho e o contraste no mínimo. A interface do usuário comum, que fornece controles de brilho e contraste para o usuário, pode exibir visualizações precisas para o usuário.

Um filtro de processamento de imagem nunca deve modificar o membro lMessage da estrutura WiaTransferParams .

Para ler as propriedades necessárias, o filtro de processamento de imagem deve chamar IWiaPropertyStorage::GetPropertyStream na interface IWiaPropertyStorage que ele obtém do item chamando IWiaImageFilter::QueryInterface. Em seguida, o filtro pode instanciar uma instância IPropertyStorage nesse fluxo para ler as propriedades dos itens. O filtro de processamento de imagem não deve chamar IWiaPropertyStorage::ReadMultiple diretamente porque esse método chama para o do drvReadItemPropertiesdriver, mas o serviço WIA 2.0 já bloqueou o driver na drvAcquireItemData chamada para que essa chamada faça o tempo limite e falhe.

As propriedades nas quais o filtro está interessado podem, por exemplo, ser as configurações de brilho e contraste. O filtro normalmente também precisa ler o formato da imagem, bem como a propriedade de visualização, WIA_DPS_PREVIEW, de pWiaItem2. Todas essas propriedades são usadas no processo de filtragem.

Os componentes do WIA 2.0 sempre gravam dados não filtrados no filtro de processamento de imagem. O algoritmo de processamento de imagem implementado pelo fluxo do filtro pode filtrar os dados mais de uma vez e não precisa se preocupar em produzir os mesmos resultados que filtrar os dados uma vez.

O filtro deve prestar atenção à propriedade WIA_DPS_PREVIEW , especialmente se algumas tarefas relacionadas ao filtro forem tratadas no hardware. Por exemplo, um determinado driver pode alterar o brilho da lâmpada no hardware do verificador, dependendo de como o aplicativo definiu o brilho em um item WIA 2.0. Durante a verificação final (quando o aplicativo chama IWiaTransfer::D ownload), o driver normalmente modificaria a lâmpada física do scanner. Nesse caso, o filtro de processamento de imagem pode não precisar executar nenhum processamento de brilho. Durante uma verificação de visualização, no entanto, o driver não deve modificar o brilho da lâmpada . Em vez disso, isso deve ser cuidado apenas no filtro de processamento de imagem. É importante que o Componente de Visualização do WIA 2.0 e o filtro de processamento de imagem retornem imagens precisas com base nas propriedades definidas no item.

Um filtro de processamento de imagem deve dar suporte a todos os formatos de imagem compatíveis com o driver.

O filtro de processamento de imagem sempre recebe uma imagem correspondente à área de seleção definida no item para o qual estamos adquirindo a imagem. Observe, no entanto, que a imagem pode ter sido girada pelo driver caso ela dê suporte à propriedade WIA_IPS_ROTATION .

O filtro de processamento de imagem é criado por meio de IWiaItem2::GetExtension, normalmente não pelo aplicativo, mas por componentes do WIA 2.0 quando um aplicativo chama IWiaPreview::GetNewPreview ou IWiaTransfer::D ownload.

A interface IWiaImageFilter , como todas as interfaces COM (Component Object Model), herda os métodos de interface IUnknown .

Métodos IUnknown Descrição
IUnknown::QueryInterface Retorna ponteiros para interfaces com suporte.
IUnknown::AddRef Incrementa a contagem de referência.
IUnknown::Release Contagem de referência decrementos.

 

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho
Wia.h
IDL
Wia.idl