piątek, września 16, 2011

Exif jest zły - część 2 :-)

Niestety próba użycia ExifInterface w Androidach 2.0+ spełzła na niczym. Po prostu namiary na obrazek mam w postaci URI dla content providera. Mogę kombinować z przerabianiem tego na nazwę pliku, ale jakoś mi się odechciało ;-)

Za to spojrzałem na kod do którego linka podesłał AMP w komentarzu. Kod jest w Pascalu/Deplhi, ale jak na razie udało mi się już na Java'ę przenieść wykrywanie, że w pliku JPG są dane Exif i tego, że w tym Exif są dane z GPS :-)

Nie potrafię nadal tych danych Exif o położeniu odczytać, ale już wiem, że są i jest szansa, że jeszcze trochę posiedzę i uda mi się coś z tego odczytać :-)

Co prawa czytanie strumienia po bajcie wydaje się być ciut lamerskie, ale jak na razie działa :-) No i działa na strumieniu, co jest o tyle super, że content provider spokojnie mi strumień może podarować :-)

Ale działanie na danych w "Java'owych bajtach" jest wredne... Szczególnie, że w JPEG jak na złość można używać tak małego jak i dużego Indianina ;-) [Little Endian albo Big Endian, czyli porządku takiego jak w Intelowskim x86, albo w Motorolowej M68000] co powoduje, że trzeba przeliczać różne cosie....
Niby jest DataStream, ale z tego co mi się wydaje on używa "Java'oweg" porządku...


Podobne postybeta
Exif jest zły ;-)
Jak zostać wrogiem wolności słowa ;-)
Hackowanie odczytu danych Exif ;-)
Geolokalizacja postu z obrazka, czyli nie taki Exif zły :-)
Zły provider, albo głupi ja ;-)