Görüntü dosyalarından ham veri akışı aldım, örneğin:Ham dosya akışı meta verilerinin endian-duyarlı okuma için C++ kütüphanesi?
vector<char> rawData(fileSize);
ifstream inFile("image.jpg");
inFile.read(&rawData[0]);
Yükseklik ve genişlik için farklı görüntü formatlarının başlıklarını ayrıştırmak istiyorum. Tampon/akıştan ints, longs, shorts, vb. Okuyabildiği, endianess'i belirtilen şekilde değiştirebilen portatif bir kütüphane var mı?
short x = rawData.readLeShort(offset);
veya long y = rawData.readBeLong(offset)
Daha da iyi bir seçenek bile işe yarayabilecek bir & taşınabilir görüntü meta veri kütüphanesi (görüntü manipülasyon kütüphanesinin ekstra ağırlığı olmadan) olurdu ham görüntü verilerinde. Orada Exif kütüphanelerinin png
ve gif
'yi desteklemediğini buldum.
bu kadar: 'şablon T Magic :: getLE (const char * data) const {T değeri = 0; int bayt = sizeof (T); (int i = 0; i
Kache
Aslında, yukarıdaki kodda bir hata var. Karakterleri bir defada değiştirmek yerine, bir seferde T 'yi değiştirir. Bunu düzeltir: 'template T Magic :: getLE (const char * data) const {T değeri = 0; int bayt = sizeof (T); imzasız char c; için (int i = 0; i
Kache