|
|
如果不知道JHEAD,请看NAMEJM 的帖子。
jhead:获取及修改照片exif信息的好工具 ---by namejm
http://bbs.bathome.net/thread-4566-1-1.html
批处理版照片整理器[2008-10-12] ---by namejm
http://bbs.bathome.net/thread-69-1-1.html
问题产生背景:
有时候数码相机拍出的照片太大了,4000*3000的竟然达到单个文件4.*M。
刚好,偶然间发现了一个图片压缩工具,OptimumJPEG.
老外写的免费软件,使用简单,压缩率极高而又不损失质量。
可是,美中不足的是,它在极高压缩的同时,删除了原来文件的 EXIF 信息。
这个时候,发现了 JHEAD。(我也是因此而发现 BATHOME 的)。
但是,JHEAD 好像没有办法实现 从TXT 文件中导入 EXIF 到图片(好像只能导入COMMENT。JHEAD使用没有深入研究,错误之处,高手指正。)。
但是,它可以把一个图片中的 EXIF 信息导入到另一个文件中去。
于是,产生了如下想法(CODE实现目的):
我可以把原来图片备份一份,然后再优化压缩。
压缩完毕,把原来文件的 EXIF 导入到优化好的文件中。
我用 for 语句,如下:- for %%i in (*.jpg) do jhead -te %%i 1/%%i
- :: 假设JHEAD就在当前目录,批处理文件与JPG文件也是在同一个目录。
- :: 文件夹1为当前目录的一个子目录,里面的文件就是优化过的文件,优化前后文件同名。
复制代码 结果提示:No such file.
in file .....jpg
不知道错在哪里?
如果我的思路不可取,那么
这个功能该如何实现。
请高手不吝指教。
————————————————————————————————
谢谢各位的提示,现在问题已经解决。
事实证明,以下代码是对的。- for %%i in (*.jpg) do jhead -te %%i 1\%%i
- ::for %%i in (*.jpg) do jhead -te %%i 1/%%i 也可以,不知道为什么这里 "/" 与 "\"没区别。高手指教。
复制代码 ————————————————————————————————
对于5楼提供的软件 RIOT,下载了。
试用后,在压缩率都为 50% 的情况下,RIOT 压缩过的PP比我用 OPTIMUMJPEG (默认设置下)压缩的PP好像 还小10-20k。
且,即便是在保持EXIF信息的情况下,保留了EXIF信息的文件也只是比没有保留的文件大了7-10K。
而,用OPTIMUMJPEG优化,然后从原文件导入EXIF到优化过的文件,导入EXIF后,文件平均要大了20-40K。
所以,对RIOT很是佩服,推荐使用。不过就是设置稍有点麻烦,尤其是E文不好的朋友。
【文章中出现的软件下载URL】
OptimumJPEG V1.1.0.3
Referral URL: http://www.theorica.net/download.htm
Download URL: http://www.theorica.net/download/OptimumJPEG.zip
Jhead V2.9.0 (5 Feb, 2010)
Referral URL: http://www.sentex.ca/~mwandel/jhead/
Download URL: http://www.sentex.ca/~mwandel/jhead/jhead.exe
Riot Latest version (0.4.1) – 24.05.2010
Referral URL: http://luci.criosweb.ro/riot/download/
Download URL: http://download.criosweb.ro/download.php?sid=R (不支持工具下?反正也不大)
希望以上小的软件能解决大家在实际应用中碰到的和我类似的问题。
[ 本帖最后由 devil2001 于 2010-8-11 12:52 编辑 ] |
|