全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2634
推到 Plurk!
推到 Facebook!

How to Add Tag to JPEG

尚未結案
timlong
一般會員


發表:4
回覆:5
積分:1
註冊:2007-04-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-02 10:31:30 IP:210.68.xxx.xxx 訂閱
各位大家好:

小弟想要在JPEG寫入GPS訊息,但是有時候圖檔裡沒有GPS Tag,必須自己建立

我看了exif的格式後,發現有些tag的資料是用offset的方式,那是不是說,假如我今天新增一個

gps的tag,其他tag的資料就全部要重新寫入,因為新增後offset位置變不一樣~

此外新增一個tag後,要怎麼決定offset的位置放在哪裡比較好呢?

謝謝各位


timlong
一般會員


發表:4
回覆:5
積分:1
註冊:2007-04-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-10 13:18:13 IP:210.68.xxx.xxx 訂閱
小弟有看過 exiftools的作法,他是把GPS的資料直接放在IFD1最後一筆資料的後面,
不同的軟體的作法也不一樣。而且各家的數位相機公司在填EXIF的時候,會有些許差異,
所以就算是靠自己寫好的,也需要各種廠商的jpeg照片來試試看,因為讀取說不定會有錯誤

因此假如時間有限的話,建議大家還是用人家寫好的來用。

目前我知道的有

Exiv2
http://www.exiv2.org/
他是開放原碼的軟體
但是小弟要把他移植到bcb上一直遇到困難,他有支援msvc。

exiftools
這套軟體並沒有開放原始碼,不過是免費的軟體。


謝謝大家!
編輯記錄
timlong 重新編輯於 2008-01-10 13:31:25, 註解 無‧
bugmans
高階會員


發表:95
回覆:322
積分:188
註冊:2003-04-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-02-02 14:25:04 IP:125.225.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/board.php?cid=30&fid=74&tid=45541
我推薦dEXIF這個元件,也支援IPTC,可以將額外的訊息寫入圖檔中
關於IPTC請看http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=37064
bugmans
高階會員


發表:95
回覆:322
積分:188
註冊:2003-04-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-05-01 22:06:13 IP:125.225.xxx.xxx 未訂閱
Exif Jpeg header manipulation tool
http://www.sentex.net/~mwandel/jhead/
在網頁中有提到可以取得GPS的資訊
Things jhead can extract from an Exif jpeg file
GPS info, if stored in image
看了原始碼在exif.c找到部分的程式碼

[code cpp]
case TAG_GPSINFO:
if (ShowTags) printf("%s GPS info dir:",IndentString);
{
unsigned char * SubdirStart;
SubdirStart = OffsetBase Get32u(ValuePtr);
if (SubdirStart < OffsetBase || SubdirStart > OffsetBase ExifLength){
ErrNonfatal("Illegal GPS directory link",0,0);
}else{
ProcessGpsInfo(SubdirStart, ByteCount, OffsetBase, ExifLength);
}
continue;
}
break;

[/code]
在gpsinfo.c有完整的ProcessGpsInfo程式碼

回頭再看dEXIF元件,原來也有支援GPSInfo
編輯記錄
bugmans 重新編輯於 2008-05-01 22:08:09, 註解 無‧
系統時間:2024-12-05 3:35:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!