Condividi tramite


Interfaccia IWiaImageFilter

L'interfaccia IWiaImageFilter è un'interfaccia di estensione implementata dagli sviluppatori di filtri di elaborazione delle immagini e chiamata da Windows Image Acquisition (WIA) 2.0.

Membri

L'interfaccia IWiaImageFilter eredita dall'interfaccia IUnknown . IWiaImageFilter include anche questi tipi di membri:

Metodi

L'interfaccia IWiaImageFilter include questi metodi.

Metodo Descrizione
ApplyProperties Abilita il filtro di elaborazione delle immagini per scrivere le proprietà al driver (e al dispositivo).
FilterPreviewImage Filtra l'immagine di anteprima.
InizializzaFilter Inizializza il filtro. Chiamato da WIA 2.0 prima del download di ogni immagine.
SetNewCallback Imposta un nuovo callback dell'applicazione per il filtro di elaborazione delle immagini da usare per l'inoltro delle chiamate.

 

Commenti

Gli sviluppatori di filtri di elaborazione delle immagini devono implementare questa interfaccia e l'interfaccia IWiaTransferCallback .

WIA 2.0 chiama metodi di filtro. Non vengono mai chiamati direttamente da un'applicazione.

Microsoft fornisce il componente WIA 2.0 Preview, che memorizza nella cache l'immagine di anteprima originale e non filtrata acquisita dallo scanner. Un'applicazione usa CoCreateInstance per creare un'istanza del componente di anteprima WIA 2.0 (CLSID_WiaPreview), che carica il filtro usando IWiaItem2::GetExtension. Il filtro viene chiamato automaticamente quando l'applicazione chiama IWiaTransfer::D ownload.

Il filtro di elaborazione delle immagini viene sempre eseguito quando viene analizzata un'immagine. Un'applicazione non può acquisire un'immagine dallo scanner senza avere prima il filtro di immagine applicato.

Un filtro deve implementare la luminosità e il contrasto almeno. L'interfaccia utente comune, che fornisce controlli di luminosità e contrasto all'utente, può visualizzare anteprime accurate all'utente.

Un filtro di elaborazione delle immagini non deve mai modificare il membro lMessage della struttura WiaTransferParams .

Per leggere le proprietà necessarie, il filtro di elaborazione delle immagini deve chiamare IWiaPropertyStorage::GetPropertyStream nell'interfaccia IWiaPropertyStorage ottenuta dall'elemento chiamando IWiaImageFilter::QueryInterface. Il filtro può quindi creare un'istanza di IPropertyStorage in questo flusso per leggere le proprietà degli elementi. Il filtro di elaborazione delle immagini non deve chiamare direttamente IWiaPropertyStorage::ReadMultiple perché questo metodo chiama nel driver , ma il servizio WIA 2.0 ha già bloccato il driver drvReadItemPropertiesnella drvAcquireItemData chiamata in modo che questa chiamata venga timeout e non riuscita.

Le proprietà interessate dal filtro potrebbero ad esempio essere le impostazioni di luminosità e contrasto. Il filtro in genere deve anche leggere il formato dell'immagine e la proprietà di anteprima, WIA_DPS_PREVIEW, da pWiaItem2. Queste proprietà sono tutte usate nel processo di filtro.

I componenti WIA 2.0 scrivono sempre dati non filtrati nel filtro di elaborazione delle immagini. L'algoritmo di elaborazione delle immagini implementato dal flusso del filtro può filtrare i dati più di una volta e non deve essere interessato a produrre gli stessi risultati del filtro dei dati una volta.

Il filtro deve prestare attenzione alla proprietà WIA_DPS_PREVIEW , soprattutto se alcune attività correlate al filtro vengono gestite nell'hardware. Ad esempio, un determinato driver può modificare la luminosità della lampada nell'hardware dello scanner a seconda del modo in cui l'applicazione ha impostato la luminosità in un elemento WIA 2.0. Durante l'analisi finale (quando l'applicazione chiama IWiaTransfer::D ownload) il driver modifica in genere la lampada fisica dello scanner. In questo caso, il filtro di elaborazione delle immagini potrebbe non dover eseguire alcuna elaborazione di luminosità. Durante un'analisi di anteprima, tuttavia, il driver non deve modificare la luminosità della lampada, ma questa operazione deve essere presa in considerazione esclusivamente nel filtro di elaborazione delle immagini. È importante che il componente di anteprima WIA 2.0 e il filtro di elaborazione delle immagini restituiscono immagini accurate in base alle proprietà impostate nell'elemento.

Un filtro di elaborazione delle immagini deve supportare tutti i formati di immagine supportati dal driver.

Il filtro di elaborazione delle immagini viene sempre dato un'immagine corrispondente all'area di selezione impostata nell'elemento per il quale si acquisisce l'immagine. Si noti tuttavia che l'immagine potrebbe essere stata ruotata dal driver nel caso in cui supporti la proprietà WIA_IPS_ROTATION .

Il filtro di elaborazione delle immagini viene creato tramite IWiaItem2::GetExtension, in genere non dall'applicazione ma dai componenti WIA 2.0 quando un'applicazione chiama IWiaPreview::GetNewPreview o IWiaTransfer : :D ownload.

L'interfaccia IWiaImageFilter , come tutte le interfacce COM (Component Object Model), eredita i metodi di interfaccia IUnknown .

Metodi IUnknown Descrizione
IUnknown::QueryInterface Restituisce puntatori alle interfacce supportate.
IUnknown::AddRef Incrementa il conteggio dei riferimenti.
IUnknown::Release Riduce il conteggio dei riferimenti.

 

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista [solo app desktop]
Server minimo supportato
Windows Server 2008 [solo app desktop]
Intestazione
Wia.h
IDL
Wia.idl