我正在嘗試使用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;
}
}
}
}
頂部和底部是否有很多白色?很難逆向設計MyPicture.LoadThumbnail()可能需要的格式。 –
不,它發生在每張照片上(或者至少是照相機的前10張),它們是隨機分類的照片 - 我和我的朋友在玩電子遊戲,在戶外拍攝棒球比賽等等。 – siromega