2011-09-13 73 views
2

我正在嘗試使用WIA 2.0(Windows 7)連接攝像頭(或拍照手機,iPhone,在我的情況下)並下載圖片。通過WIA 2.0獲取來自攝像頭圖像的縮略圖數據

我想使用WIA 2.0的「縮略圖數據」屬性,而不是將所有圖片下載到硬盤或內存中並生成縮略圖以進行預覽。但數據似乎無意義。該文件的第一個和最後一個3455字節是0xff,數據夾在中間。如果我將它們剝離並從3456位置開始(什麼?!這就是白癡在手提箱上的那種組合!)我仍然沒有看到有效的圖像,據我所知。

這是我在試圖通過相機上的圖像進行處理時使用的代碼。 LoadThumbnail函數應該採用二進制數據並將其存儲爲有用的格式。我只需要弄清楚是什麼格式。 MSDN表示它是32位格式的24位RGB,但如果第一個3455字節是0xff,它看起來並不是這樣。

private void GetPictures() 
    { 
     string camreaid = _camera.DeviceID; 
     List<MyPicture> pictureList = new List<MyPicture>(); 
     foreach (Item i in _camera.Items) 
     { 
      MyPicture pic = new MyPicture(); 

      // Get created date property 
      foreach (Property p in i.Properties) 
      { 
       System.Diagnostics.Debug.WriteLine(p.Name); 

       dynamic propertyData = p.get_Value(); 

       switch(p.Name) { 
        case "Item Name": 
         pic.Name = propertyData; 
         break; 
        case "Item Time Stamp": 
         // created date 
         pic.CreationDate = propertyData.Date; 
         break; 
        case "Thumbnail Data": 
         // thumbnail image 
         pic.LoadThumbnail(propertyData.BinaryData); 
         break; 
       } 
      } 
     } 
    } 
+0

頂部和底部是否有很多白色?很難逆向設計MyPicture.LoadThumbnail()可能需要的格式。 –

+0

不,它發生在每張照片上(或者至少是照相機的前10張),它們是隨機分類的照片 - 我和我的朋友在玩電子遊戲,在戶外拍攝棒球比賽等等。 – siromega

回答

相關問題