2016-07-06 27 views
0

Ich habe in immer Eingabe von einem Flachbettscanner in meinem UWP appKann ich Einstellungen in UWP App Desktop Scanner konfigurieren?

using Windows.Devices.Enumeration; 
using Windows.Devices.Scanners; 

ImageScanner myScanner = await ImageScanner.FromIdAsync(deviceId); 
var result = await myScanner.ScanFilesToFolderAsync(ImageScannerScanSource.Default, folder); 

und sogar die Verwendung des Auto konfigurierte Scanprofiles gute Erfolge hat

if (myScanner.IsScanSourceSupported(ImageScannerScanSource.AutoConfigured)) 
{ 
    ... 
    // Scan API call to start scanning with Auto-Configured settings. 
    var result = await myScanner.ScanFilesToFolderAsync(
     ImageScannerScanSource.AutoConfigured, folder).AsTask(cancellationToken.Token, progress); 
    ... 
} 

aber machen, ist es eine Möglichkeit, das kann ich Kontrolle der Konfiguration, erhalten eine niedrigere Auflösung oder einfach B & W? Alle Formatoptionen scheinen schreibgeschützte Eigenschaften zu sein. Ich habe versucht, ein externes Scanner-Profil in Win10 zu erstellen, aber es wird nicht aufgenommen (auch wenn es die Standardeinstellung ist). Die API scheint die vom Scanner unterstützten Einstellungen zu kennen, da der äquivalente Aufruf von ScanToStream die niedrigste mögliche Auflösung als Vorschau anzeigt.

Antwort

1

ist es eine Möglichkeit, dass ich die Konfiguration steuern kann, eine niedrigere Auflösung erhalten oder B nur & W

sicher, überprüfen Sie bitte ImageScanner.FlatbedConfiguration Eigenschaft

Die ImageScannerFlatbedConfiguration Klasse mehrere beschreibbaren Eigenschaften enthält, zum Beispiel: DesiredResolution und ColorMode

Eine Probe des Scan-Dateiformat PNG festzulegen und anzupassen th e gewünschte Auflösung:

if (scanner.IsScanSourceSupported(ImageScannerScanSource.Flatbed)) 
{ 

// Set the scan file format to PNG, if available 
    if (scanner.FlatbedConfiguration != null) 
    { 
     if (scanner.FlatbedConfiguration.IsFormatSupported(ImageScannerFormat.Png)) 
     { 
      scanner.FlatbedConfiguration.Format = ImageScannerFormat.Png; 
     } 

     scanner.FlatbedConfiguration.DesiredResolution = new ImageScannerResolution { DpiX = 200, DpiY = 200 }; 
    } 

    this._cancellationToken = new CancellationTokenSource(); 

    var scanTask = scanner.ScanFilesToFolderAsync(ImageScannerScanSource.Flatbed, Windows.Storage.ApplicationData.Current.LocalFolder); 
    scanTask.Progress = (info, progressInfo) => Debug.WriteLine("Page {0}", progressInfo); 

    var scanResults = await scanTask.AsTask(this._cancellationToken.Token); 
} 

Referenz:

[WinRT] How to scan documents