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 drvReadItemProperties
driver, 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 |
|
IDL |
|