C# 扫描仪颜色意图的WIA自动化不起作用
我无法让我的佳能Pixma MP150从c代码扫描彩色扫描。下面的代码将生成黑白图像,或者如果我将6146的值更改为2,则将创建灰度图像。我想能够有一个从代码彩色扫描。我知道扫描仪可以处理彩色图像,因为我可以通过“扫描仪和照相机”中的xp向导来处理。 有人能帮我弄清楚我没有为彩色扫描设置什么值吗。我能找到的所有文档和示例只需更改6146的值即可 感谢您抽出时间阅读此文章C# 扫描仪颜色意图的WIA自动化不起作用,c#,printing,automation,camera,wia,C#,Printing,Automation,Camera,Wia,我无法让我的佳能Pixma MP150从c代码扫描彩色扫描。下面的代码将生成黑白图像,或者如果我将6146的值更改为2,则将创建灰度图像。我想能够有一个从代码彩色扫描。我知道扫描仪可以处理彩色图像,因为我可以通过“扫描仪和照相机”中的xp向导来处理。 有人能帮我弄清楚我没有为彩色扫描设置什么值吗。我能找到的所有文档和示例只需更改6146的值即可 感谢您抽出时间阅读此文章 private void ScanAndSaveOnePage () { WIA.Common
private void ScanAndSaveOnePage ()
{
WIA.CommonDialog Dialog1 = new WIA.CommonDialogClass();
WIA.DeviceManager DeviceManager1 = new WIA.DeviceManagerClass();
System.Object Object1 = null;
System.Object Object2 = null;
WIA.Device Scanner = null;
Scanner = Dialog1.ShowSelectDevice(WIA.WiaDeviceType.ScannerDeviceType, false, false);
WIA.Item Item1 = Scanner.Items[1];
setItem(Item1, "6146", 1);
setItem(Item1, "6147", 150);
setItem(Item1, "6148", 150);
setItem(Item1, "6151", 150 * 8.5);
setItem(Item1, "6152", 150 * 11);
WIA.ImageFile Image1 = new WIA.ImageFile();
WIA.ImageProcess ImageProcess1 = new WIA.ImageProcess();
Object1 = (Object)"Convert";
ImageProcess1.Filters.Add(ImageProcess1.FilterInfos.get_Item(ref Object1).FilterID, 0);
Object1 = (Object)"FormatID";
Object2 = (Object)WIA.FormatID.wiaFormatBMP;
ImageProcess1.Filters[1].Properties.get_Item(ref Object1).set_Value(ref Object2);
Object1 = null;
Object2 = null;
Image1 = (WIA.ImageFile)Item1.Transfer(WIA.FormatID.wiaFormatBMP);
string DestImagePath = @"C:\test.bmp";
File.Delete(DestImagePath);
Image1.SaveFile(DestImagePath);
}
private void setItem (IItem item, object property, object value)
{
WIA.Property aProperty = item.Properties.get_Item(ref property);
aProperty.set_Value(ref value);
}
如果其他人想知道,您也必须设置“4104”。默认情况下,它设置为1位深度。这对我来说是个好办法
setItem(Item1,“4104”,24)代码>
为了找出这一点,我必须列举所有属性,并查看它们的设置:
foreach (Property propertyItem in item.Properties)
{
if (!propertyItem.IsReadOnly)
{
Console.WriteLine(String.Format("{0}\t{1}\t{2}", propertyItem.Name, propertyItem.PropertyID, propertyItem.get_Value()));
}
}
基本上WIA_IPS_CUR_INTENT=WIA_INTENT_IMAGE_TYPE_COLOR和WIA_IPA_DEPTH=24参考你是我的英雄