Grundlegendes Scannen für Filmscanner
Eine WIA-Anwendung listet die Elemente der obersten Ebene in der Scannerelementstruktur auf, um die unterstützten Features des Scanners zu ermitteln. Die Anwendung verwendet dann das Element der obersten Ebene als Scanquelle. Beispielsweise werden Flachbettscannerelemente zum Scannen aus dem Flachbett und feeder Items zum Scannen aus dem Dokumenteinzug verwendet.
Das Programmier- und Scanverhalten des Filmelements ist fast identisch mit denen des Flachbettelements.
Eine Anwendung führt in der Regel die folgenden Vorgänge aus, wenn sie das Filmelement des Scanners programmiert, aber nicht unbedingt in dieser Reihenfolge:
Listen Sie WIA-Elemente der obersten Ebene auf, und suchen Sie nach WIA-Elementen, die mit dem WiaItemTypeProgrammableDataSource-Elementflag und der WIA_IPA_ITEM_CATEGORY Einstellung von WIA_CATEGORY_FILM gekennzeichnet sind.
Lesen Sie die gültigen Werte für WIA_IPS_FILM_SCAN_MODE , um die Einstellungen für die Filmüberprüfung zu überprüfen. Diese Einstellung gibt an, dass entweder positive Bilder oder negative Bilder (d. h. ein fotonegatives) Scanunterstützung unterstützt werden.
Wählen Sie die positive oder negative Lichtquelle aus, indem Sie die eigenschaft WIA_IPS_FILM_SCAN_MODE festlegen.
Lesen Sie die aktuellen Einstellungen für die Scannerlampe, und schalten Sie die Lampe bei Bedarf mithilfe der eigenschaft WIA_IPS_LAMP ein (sofern unterstützt).
Lesen Sie die gültigen Werte für WIA_IPA_TYMED und WIA_IPA_FORMAT.
Wählen Sie das endgültige Format der Daten aus, indem Sie die eigenschaft WIA_IPA_FORMAT festlegen.
Wählen Sie die Bildeinstellungen aus, z. B. WIA_IPA_DEPTH, WIA_IPA_DATATYPE und WIA_IPA_BITS_PER_CHANNEL.
Wählen Sie eine ein- oder mehrseitige Dateiübertragung (sofern unterstützt) aus, indem Sie die WIA_IPA_TYMED-Eigenschaft festlegen.
Auflisten untergeordneter Elemente, um nach vorhandenen Frames zu suchen.
Lesen Sie das WIA_IPS_SUPPORTS_CHILD_ITEM_CREATION Element, um zu bestimmen, ob der Scanner die Erstellung neuer Frames unterstützt.
Passen Sie vorhandene Filmelementrahmen an, oder erstellen Sie neue Frames (abhängig von der Unterstützung für die Frameerstellung).
Lesen Sie die WIA_IPS_SUPPORTS_CHILD_ITEM_CREATION-Eigenschaft, um zu bestimmen, ob das Filmscannerelement das Feature zum Abrufen spezieller Ordner unterstützt.
Führen Sie einen der folgenden Vorgänge aus:
- Übertragen von Daten mithilfe des WIA-Filmscannerelements (nicht mithilfe der Funktion zum Abrufen von Ordnern). Der vollständige Filmscanbereich wird als einzelnes Bild zurückgegeben.
- Übertragen von Daten mithilfe des WIA-Filmscannerelements (mithilfe des Ordnererfassungsfeatures). Nur die untergeordneten Elemente des WIA-Filmscanners (d. h. Frames) werden an die Anwendung übertragen.
- Navigieren Sie zu jedem Frameelement, und übertragen Sie dieses WIA-Element.
Der Treiber führt normalerweise die folgenden Vorgänge aus, wenn er die Filmscaneinheit des Scanners zum Scannen verwendet:
Rufen Sie IWiaMiniDrv::d rvValidateItemProperties und IWiaMiniDrv::d rvReadItemProperties auf. Der WIA-Treiber sollte alle Eigenschafteneinstellungen während der Eigenschaftseinstellungsphase der Anwendung überprüfen.
Rufen Sie IWiaMiniDrv::d rvWriteItemProperties auf. Der WIA-Elementkontext, der übergeben wird, gehört zum Filmscannerelement oder zu einem Filmscanelementrahmen, sodass der Treiber weiß, dass die Anwendung die Filmscaneinheit des Scanners zum Scannen verwenden möchte. Einige Scanner verwenden ihre Flachbette für die Filmscannung. Der Scanner muss für eine ordnungsgemäße Beleuchtung (basierend auf der eigenschaft WIA_IPS_FILM_SCAN_MODE) und Für die Filmscannung konfiguriert werden.
Rufen Sie IWiaMiniDrv::d rvAcquireItemData auf. Der übergebene WIA-Elementkontext gehört zum Filmscannerelement oder zu einem Filmscanelementrahmen. Der Treiber kann leicht feststellen, dass die Anwendung scannen möchte, indem er die Filmscan-Einheit verwendet.
Programmieren Sie das Gerät und scannen Sie aus der Filmscan-Einheit mithilfe der aktuellen Filmelementeigenschaften (einschließlich aller untergeordneten Frameeigenschaften). Wenn sich der WIA-Treiber nicht im Filmscanmodus befindet, versucht er, für den Scan in diesen Modus zu wechseln. Die Anwendung kann nur zwischen negativem und positivem Licht umschalten. Die Verwendung eines Filmscannerelements zum Scannen ist ein Vertrag zwischen der Anwendung und dem Treiber; sie stimmen zu, dass die Filmscanfunktion des Scanners für die Datenübertragung verwendet wird.
Die WIA-Eigenschaften, die sich auf dem Filmscannerelement befinden, sollten vom Treiber als Einstellungen verwendet werden, die vor der Überprüfung auf den Filmscan-Teil des Scanners angewendet werden. Die WIA-Anwendung muss den Headern der vom WIA-Treiber zurückgegebenen Daten immer vertrauen. Der Scanner hat beispielsweise festgestellt, dass er die angegebene Bildbreite nicht überprüfen kann und den Wert aufrunden muss. Der Treiber sollte die Bildheader mit den aktualisierten Breiteninformationen aktualisieren, damit die Anwendung über die richtigen Daten verfügt. Der WIA-Treiber sollte den WIA-Eigenschaftssatz immer mit den tatsächlichen Dateninformationen aktualisieren, die vom Gerät zurückgegeben werden.