I am LAZY bones? AN ancient AND boring SITE

2010年 02月 11日 的归档

exif──查看JPEG文件里的附加信息

不知道什么是EXIF的可以看这里(中文)和这里(英文),简单一句话,EXIF就是存在JPG文件里的一些额外信息。
现在的数码相机拍出来的图片里,绝大多数都存有拍摄时间、快门、焦距、光圈等很多信息,稍微好点的还有GPS定位的拍摄地点呢。
在GUI下,eog等图片查看软件,都可以通过右键的“属性”菜单查看具体的EXIF信息。其实在CLI下,也是有办法提起这些信息的。这个程序的名字就叫 exif 。
安装基本靠源,就不介绍了,使用也是超简单:

$ exif S7302998.JPG
‘S7302998.JPG’中的EXIF 信息标识(‘英特尔’字节顺序):
--------------------+----------------------------------------------------------
信息标识                |值
--------------------+----------------------------------------------------------
Image Description   |<Samsung D70 / D75 / S730 / S750>
Manufacturer        |Samsung Techwin
Model               |<Samsung D70 / D75 / S730 / S750>
Orientation         |左上
x-Resolution        |96.00
y-Resolution        |96.00
Resolution Unit     |英寸
Software            |708101
Date and Time       |2009:02:08 14:16:22
###限于篇幅,省略点输出信息。。
对比度                 |普通
饱和度                 |普通
锐度                  |普通
Interoperability Ind|R98
Interoperability Ver|0100
--------------------+----------------------------------------------------------
EXIF 数据中含有缩略图(3915 个字节)。

下一步就是找个写EXIF信息功能强一点的CLI软件,exif虽然也能写,但是好像只能逐字段挨个写,这个就不太方便了。
最终我要实现的就是:压缩照片,但是保留EXIF信息,哈哈。

========20100211 19:30:00 update========
哈哈,是我把convert想得太简单了,其实convert本身就会保留EXIF的,根本无须我多操心~

去掉wget烦人的 “eta(英国中部时间)” 提示

gentoo 里的 wget ,从1.12版本开始,就一直有个不影响功能的小毛病:由于中文翻译的失误,进度提示的时候,会被拉成很多行。原因就是原来英文的ETA这3个字母,被翻译成了 “eta(英国中部时间)” 这么长,所以引起断行出错。
zh_CN.po 里,其实还是有说明的,只不过翻译人员疏忽了。如下:

#. TRANSLATORS: "ETA" is English-centric, but this must
#. be short, ideally 3 chars.  Abbreviate if necessary.
#: src/progress.c:805
#, c-format
msgid "  eta %s"
msgstr " eta(英国中部时间) %s"

既然这个小毛病不影响功能,之前也就没太在意,一直在等上游更新,不过到了 1.12-r1 版本,仍旧还有这个毛病,我也渐渐的看不下去了,就决定动手自己改掉它了。
方法也很简单,用之前我介绍过的命令就可以了,具体如下:

msgunfmt /usr/share/locale/zh_CN/LC_MESSAGES/wget.mo -o - | sed 's/eta(英国中部时间)/ETA/' | msgfmt - -o /tmp/zh_CN.mo
sudo cp /tmp/zh_CN.mo /usr/share/locale/zh_CN/LC_MESSAGES/wget.mo

搞定。