大家好,我有一个问题,我认为这会导致一个小的语法问题。我希望。我使用c#在Windows 7机器上使用WIA 2.0将数据从相机拉到应用程序中。问题涉及时间戳。我不想传输图像,直到我检查它的时间戳是否在一个范围内。这是代码的重要部分。这里的示例来自我的测试工具,我只是一举做好所有事情,而不是真正的代码。再次,如果我忽视时间,我可以使一切正常,但这不是一个选择。
WIA.DeviceManager devMgr = new WIA.DeviceManager();
foreach (DeviceInfo info in devMgr.DeviceInfos)
{
if (info.Type == WiaDeviceType.CameraDeviceType) //grab the first camera
{
cameraDevice = info.Connect();
break;
}
}
这里有一个i项目循环(此时每个项目都是pic)
WIA.Item item = cameraDevice.Items[i];
timestamp = item.Properties.get_Item("Item Time Stamp").get_Value().ToString();
现在在最后一行,它只返回System.__ComObject
。我不知道如何从这个对象中获取值,我无法将其转换/转换为任何有用的东西,它没有我能找到的属性。任何人都可以帮助我从这个时间戳对象中获取价值吗?
另一方面,令人惊讶的是,在使用c#和WIA的人们世界中,样本很少。只是说。
答案 0 :(得分:1)
这就是你想要的:
Vector timeTakenVector = (Vector)item.Properties["Item Time Stamp"].get_Value();
DateTime timeTaken = timeTakenVector.Date;
答案 1 :(得分:0)