我正在使用WIA(Windows Image Acquisition)从相机中抓取照片。使用WIA 2.0,.net 4 C#,我的测试设备是尼康D90(是的,我实际上插入了它)。所以场景是:
以上所有方法都有效。
我遇到的问题是从设备本身获取当前时间。我第一次从设备上得到时间,我得到了正确的时间,一切都很好。如果我再次运行我的应用程序,WIA似乎会缓存我之前得到的时间并返回它,这是无用的。
// use the WIA.DeviceManager to get the deviceInfo (not shown)
var device = deviceInfo.Connect();
var prop = device.Properties["Device Time"];
Vector deviceTimeVector = (Vector)prop.get_Value();
var deviceTime = deviceTimeVector.Date;
与WIA合作的人是否知道如何从设备中可靠地获取当前时间?我尝试过同步,但这似乎没有任何效果。
_device.ExecuteCommand(WIA.CommandID.wiaCommandSynchronize);
也接受建议。我想我唯一的另一种方法就是通过测试拍摄来“校准”设备,检查该图片所用的时间,但也存在问题。
如果您需要任何信息,请与我们联系。