Не могу прочитать объект метки времени элемента WIA в C # - PullRequest
1 голос
/ 13 мая 2011

Привет всем, у меня есть проблема, которая, я считаю, в конечном итоге приведет к незначительной синтаксической проблеме.Я надеюсь.Я извлекаю данные с камеры в приложение, используя WIA 2.0, на компьютере с Windows 7, используя c #.Проблема связана с отметкой времени.Я не хочу передавать изображение, пока не проверю, находится ли его отметка времени в пределах диапазона.Вот вырубленная важная часть кода.Пример здесь взят из моего тестового набора, где я делаю все одним махом, а не из реального кода.Опять же, я могу заставить все работать нормально, если проигнорирую время, но это не вариант.

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 элементов (на данный момент каждый элемент представляет собой изображение)

WIA.Item item = cameraDevice.Items[i];    
timestamp = item.Properties.get_Item("Item Time Stamp").get_Value().ToString();  

Теперь в последней строке он просто возвращает System.__ComObject.Я понятия не имею, как получить значение из этого объекта, я не могу привести / преобразовать его к чему-либо полезному, у него нет свойств, которые я могу найти.Может ли кто-нибудь помочь мне получить значение из этого объекта отметки времени?

Кстати, поразительно, как мало примеров в мире людей, использующих c # и WIA.Просто скажи.

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

Это то, что вы хотите:

Vector timeTakenVector = (Vector)item.Properties["Item Time Stamp"].get_Value();
DateTime timeTaken = timeTakenVector.Date;
0 голосов
/ 13 мая 2011
...