Windows XP および Windows 7 で WIA lib を使用してドキュメントをスキャンしようとしています。コードは次のとおりです。
Device _scannerDevice;
CommonDialog _scannDialog;
if (_scannerDevice != null)
{
WIA.Item Item = _scannerDevice.Items[1] as WIA.Item;
WIA.ImageFile wiaImage = null;
//setting dpi
Item.Properties["6147"].set_Value(dpi);
Item.Properties["6148"].set_Value(dpi);
//setting start coordinates
Item.Properties["6149"].set_Value(0);
Item.Properties["6150"].set_Value(0);
//setting width and height
Item.Properties["6151"].set_Value(width);
Item.Properties["6152"].set_Value(height);
//1 if colorful; 2 if gray
Item.Properties["6146"].set_Value(1);
//start scan
wiaImage = (ImageFile)_scannDialog.ShowTransfer(Item, wiaFormatJPEG, false);
if (wiaImage.FileData != null)
{
WIA.Vector vector = wiaImage.FileData;
_image = Image.FromStream(new MemoryStream((byte[])vector.get_BinaryData()));
}
}
イメージは正常に取得されますが、Windows XP ではNOT COLORFULです。Windows 7 で同じドキュメントをスキャンすると、予想どおり、カラフルな画像が表示されます。私はいくつかのプロパティを逃したかもしれませんか? Windows XP でカラフルな画像を取得するには?
注: ShowTransfer メソッドを使用して、スキャナーからのすべてのウィンドウを無視します。このメソッドでは、ProgressBar のみが表示されます。