2016-07-06 63 views
0

我已經獲得輸入從平板掃描儀在我UWP應用我可以在UWP應用桌面掃描儀中配置設置嗎?

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

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

,甚至利用自動配置的掃描配置文件

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); 
    ... 
} 

但有很好的成功是沒有什麼辦法,我可以控制配置,得到較低的分辨率或只是B & W?所有格式選項都顯示爲只讀屬性。我試圖在Win10中創建一個外部掃描器配置文件,但它沒有被拾取(即使它是默認設置)。 API似乎意識到掃描儀支持的設置,因爲ScanToStream等效調用以最低分辨率讀取預覽。

回答

1

有沒有什麼辦法,我可以控制的配置,得到一個較低的分辨率,或只是B &W¯¯

當然,請ImageScanner.FlatbedConfiguration財產

ImageScannerFlatbedConfiguration類包括幾種可寫的屬性,例如:DesiredResolutionColorMode

將掃描文件格式設置爲PNG並調整th的示例Ë期望的分辨率:

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); 
} 

參考:[WinRT] How to scan documents

相關問題