Archive

Archive for the ‘Tools’ Category

压缩网页图片

August 12th, 2009 Fwolf No comments

不压不知道,一压吓一跳,大部分图片几乎都能在近似无损的情况下压缩掉 65% 原始大小左右,如果指明有损压缩,比如 jpeg 的 85 %,还能更小。

Smush.it

smushit 现在已经属于 Yslow 的一部分了,可以通过 firefox 插件使用,也能在线用,缺点就是你的图片必须能够从公网访问。

可以压缩各种图片,按照官方的解释,它会尝试各种工具和算法,找到最优的方式。因此,smushit 是一种很安全的压缩工具,几乎看不到差别,就是用起来麻烦些。

imagemagick

不同的图片格式有各自的特点,比如 gif 善于存储颜色较少的图片,也是动画图片的首选;png 善于存储能够矢量化的图片,jpg 则善于存储颜色、图片变化都比较多的图片。根据不同的图片特点,进行类型转换,有时能收到不错的效果。

图片 convert 之后,还可以利用其它工具进一步压缩,不过效果不大了。

另附一个转换图片类型之后,批量替换模板中调用文件名的脚本:

grep logo.gif * -R | awk '{print $1}' | sed 's/://' | xargs -I '{}' sed -i 's/logo.gif/logo.jpg/' '{}'

jpegoptim

这是今天刚发现的好东西,ubuntu 源中有,主要可以用它去除 jpg 图片文件当中的 comment exif IPTC 等无用标记,我测试的情况压缩率比 smushit 略低一点点。由于能够通过命令行使用,所以易用性更强。

一般我喜欢用 --strip-all 参数去除所有无用内容,实际压缩之前可以用 -n 参数预测一下压缩率(默认直接压缩覆盖源文件了),24bit Adobe 类型的图片基本上都能够压缩掉 65% 原始大小,碰到 24bit JFIF 这种类型的图片一般压不动,但带上有损压缩参数比如 -m85之后,依然能够达到较理想的压缩率,并且图片损失效果不明显。

遇到无法压缩的图片、压缩后体积反而增大的图片会自动跳过,很贴心。

基本上,有了上面三种方式,就能够处理大部分网页图片了。

Related posts

Categories: Internet, Tools Tags: , , , , , , ,

小巧的编辑器Geany

April 20th, 2009 Fwolf 6 comments

我对PHP编辑器的要求不高,不过很多软件却不合我意:

首先,最好是免费的,所以挺好用的Zend Studio落选了。并且我发现似乎Zend Studio与ibus或者ubuntu jaunty有点冲突,有时候中文就出不来了。

其次,小巧,java的最好不要,所以Eclipse也落选了。

最后,最小功能集:语法高亮(废话)以及类函数列表(可以帮助我快速定位)。就这两项功能,淘汰了gedit(支持得不好)、vim(无法列出类函数)等工具。

当然,隐含要求,支持中文输入法,所以gphpedit也不能用,正好也不喜欢它的颜色高亮模式(色彩搭配)。

所以,选来选去,今天才算碰到一个比较满意的────Geany,ubuntu源中有,目前版本0.14,看来开发历史并不长。使用gtk2,操作流畅。除了类函数列表以外,还有一些贴心的小功能,比如自动补齐文件末尾的空行、保存时自动删除行尾空格等。

geany screenshot

默认的,Geany的快捷键Complete Word与中文输入法冲突,还好,可以通过设置删掉:双击-->Del-->回车

geany-solve-conflict-with-input-method

可怜的gphpedit也是这种快捷键冲突,不过我没找到设置方法。

其实Geany不仅能够处理PHP文件,还能够编辑多种脚本文件,新建文件时有内置模板可选,能够自动生成文件头的copyright及GPL声明。

总之,到目前的感觉,挺好用的。

Update @ 2009-12-29

ubuntu 中 geany 的版本更新较慢,喜欢追新的可以自行添加它的 PPA源

Related posts

Categories: Tools Tags: , , , ,

安装ibus输入法

April 6th, 2009 Fwolf 3 comments

编译太麻烦,直接从ppa的源安装,把下面这句加入/etc/apt/sources.list

	deb http://ppa.launchpad.net/ibus-dev/ppa/ubuntu intrepid main

然后安装就是了,不过ppa的源下载真的好慢啊:

	$ sudo aptitude install ibus ibus-pinyin

装好以后,修改/etc/X11/Xsession.d/95xinput,把原来fcitx的部分注释掉,换成ibus的:

	# ibus
	export GTK_IM_MODULE="ibus"
	export XMODIFIERS="@im=ibus"
	export QT_IM_MODULE="ibus"

然后切换系统的默认输入法:

	$ sudo im-switch -c

最后重启系统,一切ok。

一点感受:

  • 速度比fcitx要慢,但似乎用着反而更舒服了。
  • 没有软键盘,无法输入特殊符号(前提:我用自然码双拼,得切换到全拼下用i开头输入特殊符号,如果有全拼/双拼切换快捷键就好了)。
  • haha xixi rq xq lb sj bsn 这些很贴心啊,呵呵。

选用目前并不一定比fcitx好用的ibus,主要是看中它更新比较频繁,相信问题会不断得到修复,功能也会不断完善的。使用python开发也能够让更多的热心人介入。

Update @ 2009-04-21

如果在firefox等程序里无法实现光标跟随,可以试试装上ibus-gtk, ibus-qt4包,然后重启X。

Related posts

Categories: Linux, Tools Tags: , , , ,

好玩有趣又有用的Mockups

March 2nd, 2009 Fwolf 4 comments

Balsamiq Mockups For Desktop

见过flash游戏中,鼠标画个圆就是球,画个方块就能站住,画条线就能成跑道(这个很经典了,滑雪橇的游戏),也见过一个视频,老师讲课的时候画个斜块、小车、轮子就能够产生物理动作,看到Mockups以后,就也有类似的感觉,不过这个是用来设计软件界面的。

以前设计界面的时候用什么?想过但用的相对比较少,笨办法就是文字描述,左边放什么,右边上面放什么,右边下面放什么等等,高手会用ps画,只要不嫌累,还有画在纸、黑板上的,这些手段都有个共同的缺点────不方便管理和变更。现在不易管理、不可变更的工具用起来太累了,Mockups正是很好的解决了这个问题。

就像上面这张图片一样,在Mockups里,提供了很多用户界面设计元素,拖过来调整、搭配就能形成一张设计示意图,在设计阶段、持续变更阶段应该都是很好的表达工具,毕竟一图胜千言嘛。风格上是手绘的草稿风格,让人感觉和在纸上没区标,估计打印出来蒙人也没问题。技术实现上,依赖Adobe AIR环境,所以也是跨平台的。从图上也能看到,只要选中了菜单里的View -> Use System Fonts,中文支持还是可以的,好像不能选字体,不过够用了。

缺点首先是没有我想像中的“手工画线”,毕竟直接画和使用预制物件的感觉和灵活性还是有区别;第二就是速度,2006年买的电脑用起来都不算十分流畅;第三就是技术平台,个人对AIR不感冒,当然这个也没得改了,呵呵。

Related posts

Categories: Tools Tags: , , , ,

转换静态图像为视频

January 19th, 2009 Fwolf 1 comment

需要把100+张大小不一的图片,转换为视频,上网查了些资料,关键词一般用still images或者image sequence,结果用mencoder就能作:

mencoder mf://*.jpg -vf scale=800:600,harddup -ofps 25 -ovc xvid -xvidencopts bitrate=800 -o dbb.avi

结果出来的影片每秒25帧,也就是切换每秒切换25张图片,120多张一共耗时4秒,没法看。把fps调整为1或者0.1之类的数,mencoder运行就出错。没办法,我想了一笨办法。

按照每秒25帧算,那么如果一张图片想显示2秒,那么就把它复制(用ln更快,别傻傻的cp)2×25=50份,比如001.jpg.001, 001.jpg.002…按照这种方法把图片都整到一个目录中,然后再使用上面那个命令就能够正常转换了。

不过,当图片大小不一的时候,还是会出现错误,比如这个:

VDec: vo config request - 800 x 463 (preferred colorspace: Planar 444P)]
VDec: using Planar 444P as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
[CROP] Bad position/width/height - cropped area outside of the original!
FATAL: Cannot initialize video driver.

mencoder转变源尺寸的东西我不熟悉,试了一些参数都不行,刚想放弃,从这里发现有images2mpg这个好东西。

images2mpg是在kipi-plugins这个包里(属于kde桌面下的插件),需要安装imagemagic等包,如果提示:

Can't find ppmtoy4m, please install it or check -M parameter

这是缺少包mjpegtools,如果提示找不到ogg123,那是缺少包vorbis-tools。images2mpg就是利用这些包完成图片转换、压缩视频等工作的一个脚本。可以这样用:

images2mpg -o mzj.avi -t 4 -d 1 -S 420mpeg2 -M /usr/bin/ -i ???.jpg
  • -t 4是淡入淡出的效果,4对应的时间消耗在帮助里面,约1秒
  • -d 1是每张图片停留1秒,很遗憾这个参数不能用小数
  • -S 420mpeg2指定mpeg2压缩方式
  • -M /usr/bin/指定mjpegtools的可执行文件位置,不知怎地images2mpg自己不会到/usr/bin下找
  • -i ???.jpg是源文件,必须放在最后

转换结果很贴心,图片自动都按长、短边缩放到了视频大小,空白的地方是黑色,淡入淡出效果也还能接受,就是转换速度有些慢。

有了这个素材,再进行添加声音、分段设置间隔时间等操作就都能够很简单的用mencoder完成了。附上一个视频片段合并,并且引入外部声音的例子:

mencoder -audiofile mzj.mp3 -ovc xvid -xvidencopts bitrate=800 -vf harddup -idx -oac copy -o mzj.avi mzj_1.avi mzj_2.avi

不过这样声音在播放的时候会重复,如果合并完再加声音就没事了。

Related posts

Categories: Linux, Tools Tags: , , ,