IWiaPreview::UpdatePreview-Methode
Ruft das ungefilterte Bild ab, das von der IWiaPreview::GetNewPreview-Methode zwischengespeichert wird.
Syntax
HRESULT UpdatePreview(
[in] LONG lOptions,
[in] IWiaItem2 *pChildWiaItem
);
Parameter
-
lOptions [ In]
-
Typ: LONG
Gibt an, ob die Anwendung erfordert, dass die WIA 2.0-Vorschaukomponente einen Unterbereich des zwischengespeicherten Images oder des gesamten zwischengespeicherten Images an den Bildverarbeitungsfilter übergibt.
-
WiaPreviewReturnOriginalImage
-
Übergeben Sie das gesamte zwischengespeicherte Image an den Bildverarbeitungsfilter.
pChildWiaItem [ In]
Typ: IWiaItem2*
Gibt einen Zeiger auf das IWiaItem2-Element an, das ein untergeordnetes Element des IWiaItem2-Elements ist, das durch den pWiaItem2-Parameter der IWiaPreview::GetNewPreview-Methode angegeben wird. Wenn die Anwendung eine Vorschau des gesamten Flatbeds erfordert, gibt einen Zeiger auf den pWiaItem2-Parameter der IWiaPreview::GetNewPreview-Methode an. Wenn pChildWiaItem ein untergeordnetes Element des pWiaItem2-Parameters von IWiaPreview::GetNewPreview ist, wird dieses untergeordnete Element in der Regel vom Segmentierungsfilter erstellt.
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S _ OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.
Bemerkungen
Diese Methode übergibt das zwischengespeicherte, ungefilterte Bild über den Bildverarbeitungsfilter, der dann die gefilterten Daten in den von der Anwendung bereitgestellten Stream schreibt. Die WIA 2.0 Preview-Komponente ruft diesen Stream ab, indem sie die GetNextStream-Methode des Bildverarbeitungsfilters aufruft, die dann die GetNextStream-Implementierung des Anwendungsrückrufs aufruft. Vor dem Aufrufen von IWiaPreview::UpdatePreview muss eine Anwendung zuerst IWiaPreview::GetNewPreview aufrufen, um das Bild vom Scanner abzurufen. Andernfalls gibt die Methode einen Fehler zurück.
Die WIA 2.0 Preview-Komponente speichert das ungefilterte Image, das vom Treiber heruntergeladen wurde. Es ist möglich, dass das an IWiaPreview::UpdatePreview übergebene WIA 2.0-Element nur einen kleinen Bereich des vom Treiber heruntergeladenen Images darstellt. Wenn dies der Fall ist, schneidet die WIA 2.0-Vorschaukomponente diese Region tatsächlich aus dem zwischengespeicherten Image aus, bevor sie sie an den Bildverarbeitungsfilter übergibt, der wiederum die gefilterten Bilddaten an die Anwendung übergibt.
Damit eine Anwendung das gesamte zwischengespeicherte Image an den Bildverarbeitungsfilter übergeben kann (der es wiederum an die Anwendung übergibt), muss sie die lOptions beim Aufrufen von IWiaPreview::UpdatePreview auf WiaPreviewReturnOriginalImage festlegen. Beim Festlegen von lOptions auf WiaPreviewReturnOriginalImage muss die Anwendung sicherstellen, dass die Erweiterungseinstellungen (WIA _ IPS _ XEXTENT und WIA _ IPS _ YEXTENT) des an IWiaPreview::UpdatePreview übergebenen Elements mit dem vollständig zwischengespeicherten Image übereinstimmen. Der Filter für die Bildverarbeitung muss in diesem Fall nichts anderes tun. es filtert einfach das Bild basierend auf den Eigenschaften von pChildWiaItem (in diesem Fall ist pChildWiaItem dasselbe Element, das an IWiaPreview::GetNewPreviewübergeben wurde). Die verschiedenen Unterbereiche werden ignoriert, und das gesamte Bild wird mit den gleichen Einstellungen gefiltert. Es gibt mehrere Gründe, warum eine Anwendung dies tun würde.
- Möglicherweise unterstützt die Anwendung das Ändern der Einstellungen (z. B. WIA _ IPS _ BRIGHTNESS und WIA _ IPS _ CONTRAST) nicht einzeln für jede Region, die vom Segmentierungsfilter erkannt wird (oder sie möchte möglicherweise nicht einmal den Segmentierungsfilter verwenden). Es ist für die Anwendung einfacher, IWiaPreview::UpdatePreview mit WiaPreviewReturnOriginalImage aufzurufen, sodass sie immer das vollständige Image von der WIA 2.0-Vorschaukomponente empfängt.
- Die WIA 2.0-Vorschaukomponente unterstützt das Bildformat des Vorschaubilds nicht. In diesem Fall kann sie die Aktionen zum Ausschneiden der gewünschten Region nicht ausführen. Die Bildformatunterstützung der WIA 2.0 Preview-Komponente ist auf Formate beschränkt, für die es Windows GDI+ 1.1-Encoder und -Decoder gibt. Diese Formate sind Bitmap (BMP) (eine Bitmap, die bitmapFILEHEADER enthält), Graphics Interchange Format (GIF), JPEG, Portable Network Graphics (PNG) und Tagged Image File Format (TIFF).
Beachten Sie Folgendes: Wenn die Anwendung WiaPreviewReturnOriginalImage an IWiaPreview::UpdatePreview übergibt, kann die WIA 2.0 Preview-Komponente jedes Bild- oder Pixelformat unterstützen.
IWiaPreview::UpdatePreview legt die WIA _ DPS _ PREVIEW-Eigenschaft fest (und setzt sie zurück, bevor sie zurückgegeben wird, es sei denn, sie wurde zuvor festgelegt). Dadurch können der Treiber (und die Hardware) sowie der Bildverarbeitungsfilter wissen, dass es sich bei dem Element um eine Vorschauüberprüfung handelt.
Eine Anwendung muss sicherstellen, dass pChildWiaItem das gleiche Bildformat (WIA _ IPA _ FORMAT)und die gleiche Auflösung (WIA _ IPS _ XRES und WIA _ IPS _ YRES) wie pWiaItem bei der Weitergabe an IWiaPreview::GetNewPreviewaufwies. Das Format des untergeordneten Elements muss dem Format des zwischengespeicherten Images der WIA 2.0 Preview-Komponente entsprechen (die WIA 2.0-Vorschaukomponente führt keine Bildkonvertierung durch).
Beispiele
UpdateRegion sollte jedes Mal aufgerufen werden, wenn sich ein Benutzer ändert, z. B. die Helligkeit oder der Kontrast für das durch dargestellte untergeordnete dwRegionNumber Element. Dieses untergeordnete Element wurde zuvor vom Segmentierungsfilter (IWiaSegmentationFilter) erstellt. Das in IStream geschriebene Bild wird von der GetNextStream-Methode der Übertragungsrückrufschnittstelle zurückgegeben. Der Code für GetSubRegionItem wird in diesem Beispiel ausgelassen.
Nachdem diese Funktion aufgerufen wurde, würde eine Anwendung in der Regel den Bereich auf dem Bildschirm neu zeichnen.
HRESULT
UpdateRegion(
IN DWORD dwRegionNumber)
{
IWiaItem2 *pSubRegion = GetSubRegionItem(dwRegionNumber);
return m_pWiaPreview->UpdatePreview(0,pSubRegion);
}
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows [Nur Vista-Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Nur Server [ 2008-Desktop-Apps] |
| Header |
|
| IDL |
|