2008年10月24日
经常在移动或者删除某个文件/文件夹的时候得到一个系统提示:文件或目录正被打开,不能删除。如果你不急于移动或者删除操作,可以等重启计算机之后再重新进行操作。但如果急于移动/删除?或者重启计算机之后移动/删除动作仍然不能进行,就要好好找找原因了。
我相信有两个软件大家略有所知:一个是已经被Micrsoft并购的Sysinternals的产品ProcessExplorer;另一个是WhoLockMe。ProcessExplorer功能强大,但在处理这个问题上,使用起来不是很便捷。而WhoLockMe呢,据说在Vista下不能很好的工作。至于WhoLockMe是不是真的在Vista下不能很好的工作,我没去试了,直接上Google找到了另一款免费的软件Unlocker来处理这个问题。
Unlocker的官方主页是http://ccollomb.free.fr/unlocker。主页上不仅有Unlocker的介绍,还有它和其它类似软件的一个比较表,很有意思:
安装的时候有中文(Simplified Chinese)安装界面,安装好后在文件右键菜单里有菜单项,使用非常方便。值得推荐。
2008年1月18日
使用邮件合并制作了2008年工作日历之后,同事发现,选页打印时打印机不动作。表现为:选择打印11-26页,打印框一闪就失踪了,页打印机什么动作也没有。更换打印机甚至使用虚拟
打印机测试之后发现问题依旧,故排除
打印机问题,Word成为重大嫌疑对象。
打开合并后的日历文档,定位到中间某页时发现Word状态栏显示“1页 7节
1/53”。然后切换到普通视图查看文档,发现每页日历之后都是一个“下一页”分节符,这样一来,整个日历文档就是一个拥有53节,每节1页的文档。看来
邮件合并在合并信函类文档时是以分节符来作分隔的。而打印不作为,很有可能就是因为选页时跨了多个节造成的。所以决定将所有分节符替换成分页符试试。
打开“查找/替换”对话框,查找分节符(^b),替换成分页符(^m)(说明:在查找替换对话框中,点“高级”按钮扩展出高级
选项,然后有一个“特殊字符”按钮可以帮助插入分节符、分页符等特殊字符)。之后单击“全部替换”按钮将所有分节符替换成分页符。再检查文档,发现最后多了一个空白页,那是因为“邮件合并”在最后添加了一个“连续”分节符,被替换成分页符后造成的,删除掉最后那个分页符即可。
现在Word状态栏显示变成“7页 1节 1/53”。再次选择11-26页打印时,成功。
跨节选页不能打印的情况,可能是Office的一个BUG,也可能是Word设计时就估计这样设计的。不管怎么说,它总是为打印带了很大的不便,希望
Office在这里会有所改进。
2007年9月4日
1998年的时候,我刚学会Office 97,就用Excel帮忙某中学的老师将学生考试成绩汇总、排序、打印出来。那位老师惊叹:“电脑这东西不得了,原来一周的工作,一下午就弄完了。这一周可以好好耍了。”
2000年的时候,系学生办公室里一群学生热火朝天的计算综合测评。我搞清楚计算规则之后,回寝室花了半天时间,用Excel结合VBA制作了一个《综合测评流水线》,于是学办里只热闹了一下午就恢复了清静。学办主任说:你这东西好,现在周末学习委员们不用加班了。
2004年的时候,老总要求办公室主任将工资条换成工资单,要把明细都打印出来。办公室主任悉:那么多数据要拷贝粘贴到啥时候,还可能出错。于是我教她使用Word的邮件合并功能。于是打工资单成了她最高兴的事情:多么神奇的的Office。
2006年的时候,公司开始每季度对员工进行评测。网络部门的同事太忙没时间做评测系统,于是我用Excel做了一个表格来收集数据,并使用数据有效性和工作区保护功能限制填表人的输入。同事直乐:原来Excel还有这样的功能。我说:要是公司统一用Office 2003,使用InfoPath收集数据还更有意思呢!
平时大家用Office,只不过用到了它很少的一部分功能。使用Word就是写个文件,做个文档啥的;而Excel几乎就是用来制作打印表格用的。基于Office软件应用的办公自动化,已经大大的提高了工作效率。然而,不知道大家有没有发现,用好Office软件,办公效率的提升空间,还仍然很大?
如何用好Office软件呢?
第一步就是熟悉键盘操作。多数时候,我们在Office软件中是使用键盘在操作。但偶尔需要设置一些格式的时候,却因为不知道快捷键而不得不用鼠标去点击工具栏按钮。移动鼠标和敲击键盘相比,多耗费的时间可达数十部之巨。比如,加粗字体按Ctrl+B就好,设置上标用Ctrl+Shift+=就好,一瞬间就能完成,如果使用鼠标,把手从键盘移向鼠标,再将鼠标移动到工具栏上的按钮,点击,松开鼠标,将手移回键盘,找到定位的J键,这一过程消耗的时间虽然不多,但也还是需要几秒钟的。一篇文档中这样的设置假设有上百处,浪费的时间就相当可观了。另外,做同样的事情,不同的键盘操作也会消耗不同的时间。比如删刚刚写错的一个词,使用BackSpace键需要敲击数次,如果不习惯使用Backspace键而使用Del键,则需要两倍的敲击次数,而使用Ctrl+Backspace就只需要敲击一次。定位到一个长文档结尾,使用向下箭头键需要敲击数百次,使用PageDown键就只需要敲击数下,但使用Ctrl+End,则只需要敲击一次即可。
第二步是熟悉软件功能。微软Office的帮助文档是非常丰富而详尽的,其所有功能都可以在帮助文档中查阅到相应的帮助说明。当你觉得某个操作有更方便的代替方法,而没有在Office软件中发现时,先不要急着去做,查查帮忙文档,或者让Google、百度帮帮忙,说不定你就能找到更好的解决方法。很多功能你不能假设Office没有。目前的Office软件在功能上已经非常成熟了,你应该认为:它有这个功能,只是我没找到。有空的时候多浏览一下帮助文档,或者Internet上的Office技巧类文章,对熟悉软件功能都有很大的帮助。比如,Word的邮件合并、Excel的分类汇总和数据透视,这些功能你都知道吗?
第三步是活用。软件每个功能的设计往往都是为了某个特定的目标。但是,这些功能除了实现某个特定的目标之外就不能用作其它了吗?一块砖头尚有数十种用法,何况灵活的Office软件。比如,邮件合并功能本来是为批量产生类似格式的邮件而发明的,但我们还是可以用它来制作工资单,甚至制作工作周历。Excel本来是处理表格数据的,我们也可以用它来对多行文本进行排序。
Office软件的用法远远不止官方公布的那些,掌握其功能,灵活运用,办公效率就会在不知不觉中得到很大的提高。
2007年6月27日
FastStone Capture是一款屏幕捕捉软件,它的最新版本可以从主页
http://www.faststone.org上查到,是5.6。但是,从5.4版本开始,FastStone Capture就从一个免费软件变为了共享软件。因此,最后的这一顿免费的午餐是FastStone Capture 5.3。
作为一款屏幕捕捉软件,FastStone Capture是非常不错的,不仅有常规所需要的捕捉方式,而且还有一个功能非常强大的编辑器。唯一的缺陷,它目前为止还只有英文版。而且由于从5.4版本开始收费,以后想用中文的免费版FastStone Capture也不可能了,只有去网上找5.3的汉化版来用。
上传一个
FS Capture 5.3英文版,既作纪念,又作收藏。
2007年3月25日
新买了个笔记本电脑只有一个分区,本想重新分区再自己安装Windows的,没想到系统恢复盘居然问也不不问就把我的分区覆盖了。结果折腾了半天,还是只有一个分区,为了正版Windows XP,我忍!
用了几天,还是喜欢“我的电脑”中看到若干盘符,每一个盘符都对应着不同类型的数据,比如C:盘是系统、D:盘装应用软件、E:盘是文档、F:盘……
要是能把C:盘的目录映射成D:盘、E:盘、F:盘……,嘿 不是不可能,Windows自带的SUBST命令就能干这个事情。运行“命令提示符”打开DOS窗口:
SUBST D: "C:\Program Files"
SUBST E: "C:\Documents"
......
搞定,乐哉!
不过,如果计算机重启,刚才那一大堆就算白写了,怎么办?写一个批处理,放在启动菜单中。搞定,再乐!
重启一次,效果还行,就是弹出来一闪而过的DOS窗口不太爽,总让人觉得是中了病毒一样。自己写个程序调用SUBST?累!还不如上网找找有没有别人写好的……嘿,还真有,不止一个。有国人作品《虚拟硬盘大师》,还有老外的作品《VSubst》。试了试还是觉得VSubst好用一些,界面也更好看。

用工具映射虚拟硬盘,不用写批处理了,更不用在命令提示符下去写命令,全鼠标操作,而且可以设置计算机启动时映射,也不会出现疑似的DOS窗口。
搞定,乐翻天!
2007年1月12日
图像的基本知识
图像的大小
通常所说的图像的大小,有两个概念。一个是图像本身的大小,涉及图像的宽度、高度和DPI等;另一个是图像文件的大小,涉及图像文件的格式和压缩等。本节只描述图像大小相关的内容。与图像文件大小相关的内容将在后面的“图像的格式”中描述。
图像都是二维的,所以其大小由宽度(Width)和高度(Height)决定。根据情况不同,宽度和高度常常以不同的长度单位的衡量。
常见的长度单位有:
像素(px):以显示器的分辨率相关。1024x768的分辨结实际就是1024像素x768像素,这是一个抽象的单位。
厘米(cm)/毫米(mm):实际图际标准长度单位。
英寸(in):实际长度单位。1in=25.4mm=2.54cm
由于像素是抽象的长度单位,而厘米/毫米/英寸是实际的长度单位。所以它们之间没有一个固定的转换标准。因此,就规定了一个DPI来进行两种长度单位之间的转换。DPI就是Dot Per Inch,即每英寸有多少个像素点。打印机和扫描仪中经常提到的300DPI、600DPI等,就是指每英寸300/600个像素点。
照此换算,一张计算机内1000x800像素2的图片,如果按300DPI打印的话,打印结果就是3.33x2.67英寸2即8.46x6.78厘米2大小的图片。所以在打印图像的时候,选择适当的DPI非常重要。
图像的色彩
图像色彩分为好几种模式。计算机中常见的是RGB真彩色和索引色模式。在印刷业还存在CMYK模式等。普通的办公不会涉及CMYK,所以这里仅讨论RGB和索引色模式。
常常听说256色、16位色、24位色、32位色,这些都是什么意思呢?
256色是索引色中颜色最多的一种,只有256种颜色,用于显示普通的计算机图形足够。但是用256色显示的渐变色图像、照片等常常会出现颜色失真。人眼至少可以分辨216种颜色,所以256色还是太少,不能表现比较精细的图像。
16位、24位、32位色,即真彩色能够表达比较精细的图像。这里的位是二进制的位,16位色即可表现216种颜色,32位色则可表现232种颜色。而现在的计算机和打印机通常都能处理24位以上的颜色。绝大部分支持32位色。因此,在保存照片等色彩丰富的图像时,应该尽可能的使用16位以上的颜色。
除此之外,为了在保证满足图像颜色的条件下减小图像文件的大小,还有更少的索引色模式,比如216色(通常所说的Web颜色)、128色、64色、16色等。当颜色数少到2色时,一般就只存在黑白两色了(有时候也可能是其它的两种颜色)。
以上均是彩色图像的情况。如果是灰度图,通常最高只有256色。256级的灰度已经完全能够满足需要。
透明的图像通常用索引色表示,即最高256色。“透明色”也会占用一种颜色索引。
对于一个图像,尤其应该如何选择其颜色模式和数量呢?
通常,对于质量要求不高黑白文件扫描件,用黑白两种索引色即可。如果要看起来不那么刺眼,就根据原稿质量和扫描质量选用16-256级的灰度颜色。如果扫描的是红头文件,显然不能用灰度模式,因为这种模式下不能表示出红色。这时候就可以根据需要选择64-256色的索引色来保存。
如果是照片、色彩较丰富的扫描件等,当然应该选用16位色以上。
通过对于从计算机屏幕中抓取的图像,用256色以内的索引色保存即可。Windows的图标大多在256色下能显示良好,而窗体也仅包括本身颜色、两级阴影和一级高亮等几种颜色。不过如果抓取的图像中色彩比较丰富,还是应该考虑使用16位以上颜色。
图像的格式
将图像只在为文件的时候,就需要考虑图像的格式了。这一步骤涉及到选用某种格式保存图像时会不会丢失颜色、会不会造成失真、能不能保存透明色、保存之后的文件大小是否符合要求等多方面的考虑。
常见的图像格式有BMP、JPG/JPEG、GIF、PNG、TIF/TIFF等。
BMP是Windows中使用一种基本无压缩的图像格式,最高可以只在32位色彩。保存的时候不会丢失颜色也不会造成失真,但由于其基本无压缩,所以只在下来的BMP文件非常大。BMP格式的文件可以使用常规的压缩软件进行压缩,压缩比非常高。所以在一些需要BMP格式的图像文件的情况下,通常会用RAR、Zip等软件压缩之后保存或传输。BMP不能保存透明图像。
JPG/JPEG是用来保存照片的一种非常好的格式。JPEG格式最低支持16位色,不支持索引色,也不能保存透明图像。使用JPEG格式保存时可能会丢失少量颜色造成颜色失真。多数软件中将图像以JPEG格式保存时,可以根据需要选择压缩级别。压缩级别越高,颜色失真越小,但保存之后的文件也就越大。对于照片来说,通常60%-90%的压缩比保存即可。60%以下压缩比会失真比较厉害,而90%以上压缩比保存的文件大小会大幅增长。
GIF是一种有版权的图像格式。它最高保存256色的图像,可以保存透明图像和多帧图像(比如动画)。GIF格式对图像数据有压缩,但不会丢失数据也不会造成失真。
JPEG和GIF格式的文件常用于网页中,因为早期的浏览器只支持这两种格式的图像文件。
PNG是一种可以自由使用的格式,会压缩图像数据、支持各种数量的索引色和真彩色。PNG格式还支持多帧图像(如动画)和多层图像,不过目前多帧/多层PNG格式的软件还不多(至少PhotoShop和Firework支持)。PNG压缩图像不会丢失颜色也不会造成失真,而且近年来,越来越多的浏览器开始支持PNG格式,使用PNG格式表现图像的网站也越来越多。从其特性和发展势头来看,这应该是一种非常值得推荐的格式。
TIF/TIFF格式通常用于扫描件。它支持很多种压缩算法,也支持多种颜色模式和色彩数,并且还支持多页图像。不过TIFF似乎不支持透明图像。通常情况一,一个支持多页扫描的扫描仪可以将若干页扫描内容保存在同一个TIFF中,使用支持多页TIFF的图像查看工具即可翻页阅读。不过通常TIFF格式保存的文件会比较大(当然比BMP格式的小),而且使用不同的压缩算法,格式大小差别也比较大,使用时需要仔细研究。
图像捕捉
图像捕捉就是俗称的“抓图”。
捕捉的方式
最常见的两种捕捉方式是捕捉整个屏幕的图像和捕捉某个矩形区域的图像。大部分图像捕捉软件还提供捕捉某个窗口的功能,有的甚至可以捕捉子窗口(比如输入框、按钮、工具栏等都是子窗口--这些都是编程上的概念,了解即可)。
上面提到的屏幕捕捉、矩形捕捉、窗口捕捉就是最常见的三种捕捉方式。
在此基础上,各种图像捕捉软件还提供了多区域捕捉(即同时捕捉多处矩形区域或者窗口,使之出现在同一个捕捉结果中)、手绘区域捕捉(不规则图像区域)等。
不过以上各种方式捕捉的图像都必须是已经出现在屏幕上的。如果需要捕捉一篇需要多屏才能显示的文档,比如某些网页,使用上述捕捉方式之后还需要进行拼接。因此为了方便用户,不少捕捉软件提供了滚动捕捉功能。也就是说,在捕捉图像的时候,捕捉软件会自动滚动文档进行捕捉和拼接。这样一来,用户捕捉长文档的效率就大大提高了。
如捕捉的对象是视频和一些游戏,使用一般的捕捉功能只能抓到一个黑色的矩形。这是由于这些视频和游戏使用了DirectX来显示图像,常规的捕捉方法对它们不起作用。为此,一些捕捉软件又提供了捕捉DirectX的功能,专门用来捕捉这些视频和游戏截图。
除此之外,多数捕捉软件还可以设置在捕捉图像的时候是否把鼠标光标也捕捉下来。虽然一般情况下有个鼠标光标出现在图片上会比较碍事,但是很多时候,比如需要指示位置、向朋友Show自己的特色光标等,还是需要把鼠标光标捕捉下来的。
总的来说,图像捕捉的方式大致有如下一些:
1. 捕捉整个屏幕
2. 捕捉某个矩形区域
3. 捕捉某个窗口或者子窗口
4. 捕捉自绘不规则区域的内容
5. 捕捉多个区域
对应上述捕捉方式还有一些选项
1. 自动滚动,通常用于捕捉长文档窗口的时候
2. DirectX捕捉,通常用于捕捉视频和游戏截图
3. 捕捉鼠标光标
选择合适的软件
目前网络上能找到的图像捕捉软件比较多,都各具特色。既有收费的专业抓图工具,也有免费的但功能不弱的抓图工具。常见的抓图工具有:HyperSnap、SangIt、FastStone Capture、WinSnap、WinCapture、红蜻蜓抓图精灵等。大部分抓图软件都提供简单的图像编辑功能。
这些图像捕捉软件中,两大专业抓图软件HyperSnap和SnagIt都是收费的。售价都在$30-$40之间。
当然也有免费使用的图像捕捉软件,比如FastStone Capture和红蜻蜓抓图精灵。免费并不意味着功能低下。这两款软件的抓图功能并不比上述两款收费的抓图软件差多少。FastStone Capture目前只有英文版,我已经在另一篇文章《免费屏幕捕捉软件FastStone Capture》中介绍过。
使用什么软件和个人的操作习惯有着很大的关系。因此,建议多在网上搜索一些介绍资料,并自己下载试用,以找到适合自己使用的软件。
没有这些软件怎么办
其实Windows自身就带有捕捉图像的功能,而且支持两种捕捉方式。
1. 使用[PrintScreen]捕捉整个屏幕
任何时候按下[PrintScreen]键,都会将整个屏幕的图像捕捉到剪切板中。
2. 使用[Alt]+[PrintScreen]捕捉活动窗口
点击需要捕捉的窗口,使之成为活动窗口,然后按下[Alt]+[PrintScreen]键,Windows就会将这个窗口可视部分捕捉下来,保存在剪切板中
通过上面两种方式捕捉的图像都保存在剪切板中,如果需要保存为图片,可以借助Windows的“画笔”工具。当然,如果使用其它更专业一些的绘画工具会更好。如果是往Word等软件中插图,直接粘贴进去即可。
看图以及简单的图像处理
用什么软件浏览/查看/管理图像文件
这类软件还是比较多的,比如鼎鼎大名的ACDSee就是其中之一,不过ACDSee9的售价高达$39.99,不妨找两个免费的来代替:XnView和FastStone Image Viewer。
XnView我用得不多,不太习惯。FastStone Image Viewer是个不错的东西,当初选择它就是看中一点:它缩小/放大查看图片的时候,有一个选项可以使图像变得平滑柔和。这一功能,以前仅在ACDSee中遇到过。只可惜FastStone Image Viewer目前还没提供中文版,国内的朋友使用这个软件还是需要很大的勇气的。
以上三种软件都是集浏览/查看/管理于一身的。不过管理功能除ACDSee之外,都稍显逊色。如果你的确需要管理大理的图片,不如试试目前正在激烈斗争着的Google Picasa和Corel Snapfire。这两款软件都是以管理图像文件为主的。
以Picasa为例,它能自动搜索计算机中的所有图像文件,并分类分目录列出来。用户可以对这些图像进行简单的编辑、管理、制作相册、刻录CD、制作视频等,甚至还可以直将照片上传到Google相册,方便共享。
用什么软件进行简单的图像处理
上面介绍过的几款抓图软件和图像文件查看管理软件几乎都能简单地处理图像。
对图像所谓的简单处理包括些什么处理呢?最简单的,放大/缩小、旋转/翻转、裁切等;稍复杂一点的,调整亮度/对比度/色相/饱和度,绘制线条、箭头、图形、添加文字注释等。
图像处理软件,大家熟知的有Photoshop和Firework,不过两个东西都卖得太贵,而且自从Macromedia被Adobe收购了之后,Firework似乎就消失了。
还有一个叫PhotoFiltre的免费软件,是Linux下非常优秀的图像处理软件,可与Photoshop媲美,现在也有Windows版本。用它来进行一些简单处理还是方便的。不过因为它需要一些图形库的支持,下载和安装稍嫌麻烦。
简单的图像处理其实就用一些抓图软件自带的编辑器就可以。比如Hypersnap和FastStone Capture的图像编辑工具都非常不错。而且这些软件小,启动也快。
另外,有一款使用.NET开发的Paint.NET也是一个不错的图像处理软件。它的运行依赖于.NET Framework。虽然现在大部分Windows都已经带有.NET Framework,但Paint.NET启动还是稍显缓慢。
简单的图像处理
上面提到的几种简单的图像处理都比较简单,不需要详细描述。但是对每个步骤的作用和需要注意的地方还是要说明一下。
放大/缩小。这是处理图像非常常见的操作。比如想将一张照片插入Word中,但又不希望Word文档太大,就需要把图像缩小到宽度为500像素左右,以减小文件尺寸。对于图像来说,通常是缩小容易放大。图像无论如何缩小,都会比较清晰;但放大就不同,放大图像需要插值,但再好的插值算法都会造成图像模糊。
另外在图像放大/缩小的时候,通常应该等比例的放大缩小,不然可能造成图像变形。目前大部分软件提供的放大/缩小功能都能在改变宽度值或高度值之后,自动等比例计算另一条边的长度,方便客户。
与放大/缩小图像对象,部分软件还提供放大/缩小画布的功能。放大/缩小图像会使图像大小按比例改变。而放大/缩小画面不会改变图像的大小,只改变图像背景,即画布的大小。
默认情况下,画布与图像大小相同。当画布大于图像的时候,多余的部分是背景色填充(通常是白色)。当画面小于图像的时候,则图像被裁切。
说到裁切,大分部处理软件都提供矩形裁切图像的功能。以一个矩形框选图像的部分,然后将矩形以外的部分裁切掉。虽然裁切图像和缩小画布引起的裁切实质不同,但对于普通用户来说,效果一致,所以不用严格区分。
如果图像不是直立的,而是横着或者倒着的,就需要旋转了。大部分图像处理软件提供左90度旋转、右90度旋转和180度旋转的功能。只有Photoshop等非常专业的软件才提供任意角度的旋转。
与旋转类似的操作还有翻转。说到翻转,就一定要与镜像联系起来。翻转之后的图像就像是在镜子中看到的原图像一样。如果将镜子放在图像的左边或者右边,那么镜像就是水平翻转的结果;如果将镜子放在图像的上边或者下边,那么镜像就是上下翻转的结果。
亮度和对比度是在图像处理中经常遇到的操作。亮度调图像整体变亮或者变暗,而对比度调整图像中各颜色之间的反差。通常情况下,亮度越高,图像整体就越亮--也就是越向白色靠近。而对比度越多,图像就更显得清晰--不过注意有一个度,过高的对比度会因为色彩丢失过多而造成颜色失真。
色相主要控制图像整体的色彩偏移。通常所说的色彩是由红橙黄绿青蓝紫七色组成的,而色相的调整就是将图像的基色调在这七种颜色及其过渡色,一共大约256种颜色中切换。
饱和度则用于调整图像的鲜亮程度。饱和度越高,图像包含的颜色就越鲜艳;反之,饱和度越低,图像包含的颜色就越灰暗。不过在调整的时候同样需要注意一个度,过高或者过低的饱和度都可能造成色彩失真。
最后是在图像上绘制一些简单的几何图形或者添加文本,对图像进行标记。这些操作通常发生在抓图对其他人标注讲解的时候。简单的几何图像包括直线、曲线(手绘曲线等)、矩形(方形)、椭圆型(正圆形)等。对于封闭图形常常还分为仅边框线、仅填充区域以及边框线和填充区域三种情况。功能稍强一些的图像处理软件还允许渐变色填充和调整透明度等。
以上操作都比较简单,就不多说了。唯一值得一提的是一个被称为Z-Order的概念。部分图像处理软件中,绘制了图形之后,这些图形就立刻固化在图像中,不能移动或者调整。但也有一些软件是把新绘制的图像作为独立的元素放置在图像中,因此当若干个元素被放置在同一填区域的时候,就可能存在谁遮盖住谁的问题,因此引入了Z-Order的概念,也就是这些元素的层次。调整各元素的层次将直接影响遮盖顺序。相应的操作有:置于最上层、置于最底层、上移一层、下移一层等。
没有这些软件怎么办
计算机中的一切操作都靠软件。如果没有这些相对专业的软件,那就只好使用Windows自带的软件了。Windows资源浏览器中对文件夹中的内容可以通过“缩略图”和“幻灯片”的方式查看(打开“我的电脑”,进入保存着图像文件的目录,在“查看”菜单里可以找到“缩略图”和“幻灯片”两个菜单项)。这就是Windows自己的浏览图像文件的功能了。
右键点击图片,选择“预览”,或者从“打开方式”中找到“Windows图片和传真查看器”,就会用“Windows图片和传真查看器”打开图片进行查看。这个Windows自带的图像查看工具还提供旋转图像的功能,可以让图片进行90度、180度和270度的旋转。
至于编辑图片,当然用Windows附件中的画图。用这个小软件进行一些非常简单的编辑还是可以的。编辑好之后还可以保存为BMP、JPG、GIF、PNG和TIF等格式。
2007年1月11日
FastStone Capture在2007年1月3日至6日接连发布了两个5.x版本。对4.x版本的功能进行了较大的扩展。
先来看看更新历史记录:
5.1版(2007年01月06日)
在Edit菜单中添加了一个Make Background Transparent项
在设置中添加了在捕捉页面上显示/隐藏放大镜和屏幕捕色的选项
在绘图工具的右键菜单中添加了Bring to Front/Set to Back(置顶/置底)菜单项
将绘图工具的快捷键从T改为D
5.0版(2007年01月03日)
加强/简化了用户界面
新效果:投影、撕纹边框
备注工具(Caption工具)
改进绘图工具
修改一些缺陷
英文原文:
Version 5.1 (January 06, 2007)
Added Make Background Transparent under Edit menu
Added options in the Settings to show/hide Screen Magnifier and Screen Color Picker on Capture Panel
Added Bring to Front/Set to Back to the right-click menu in Draw tool
Changed hotkey for Draw tool from T to D
Version 5.0 (January 03, 2007)
Enhanced / Simplified the User Interface
New Effects: Drop shadow, torn-edge
Comment Tool
Improved the Draw tool
Fixed some bugs
从更新内容上来看,有三个功能非常有用。
1. 绘图工具中现在允许调整加入的图形元素的Z-Order顺序了。
以前在绘图工具中绘制两个元素,如果希望先绘制的元素在后绘制的元素上方(可见),那只能先将其删除,然后重新绘制,使其保持在最上端。
现在由于右键菜单中添加了Bring to Front和Set to Back两个菜单项实现了Z-Order的调整,就再也不用那么麻烦了--只需要选中下方的元素,右键,并在菜单中选择“Bring to Front”即可。
2. 可以轻松制作撕纹边框效果
从工具栏点击“Edge”按钮,或者从“Effect”菜单中选择“Edge/Watermark”按钮,即可打开“Edge/Watermark”对话框,这里可以设置对当前捕捉的图片设置撕纹效果、投影效果,以及添加水印。如下图就是一张制作了撕纹效果的图片。

不过由于这些功能刚刚实现,还不太完善。比如撕纹效果只能应用于右边界和下边界,不能用在上边界和左边界上。而且撕纹效果不能单独应用,就算关闭投影效果的选项,也一样有投影效果,上面示例的图片就是关闭了投影效果的。而水印的功能虽然不错,但是它似乎是根据你放在对话框预览区的位置偏移比例来计算放在实际图片中的位置的,不够直观。
3. 透明背景功能
一开始看到这个功能一直很疑惑,因为我无论什么时候看到那个“Make Background Transparent”菜单项都是灰色的,从帮助和文档中也找不到相关的说明。最后只好给FastStone写了个邮件询问,答复是--仅在手绘抓图的时候有用。不过即使如此,这个功能也不错了。
Blog Tags: 抓图 FastStone Capture
2006年12月30日
新年之前,终于将ToDiList 5.0.1翻译完成。ToDoList没有提供多语言切换的功能,但是提供了源码,所以翻译是直接从源码进行的。本来在12月28日发布过一个简体中文版,但是发布之后才发现,忘了RTF控件资源的翻译,所以今天赶紧补上,重新发布了Build 061230。
ToDoList的简体中文版发布在Google Code Hosting上,点这里下载。由于最近访问Google下载站有些缓慢,所以同时还上传了一个到PCWorld中文论坛上,从这个链接进去。
由于简体中文是用VS2003编译的,而且由于程序中使用了AfxLoadLibrary,只能以共享MFC的方式编译,所以有些系统下可能需要MFC71的运行库,从这里下载。
文档没有翻译,所以目前没有将文档打包在简体中文的发布包中,需要单独下载。
因为ToDoList 5.0.1提供的文档在某些系统下不能打开(好像是不小心插入了两个特殊的字符),所以这里上传的文档是修改过的。不过还好,ToDoList 5.1 Beta附带的文档已经修正了错误,我用WinMerge比较了一下,跟我改过这个一模一样。
CodeProject上的ToDoList项目刚刚发布了5.1 Beta版的可执行文件(注意下载时需要先登录CodeProject),目前还没有发布源码,不过看样子新版本的翻译工作又要开始了。
Blog Tags: todolist
.dan.g.前两天在CodeProject上发布了ToDoList 5.1 Beta版,点这里可以下载。
这个版本的ToDoList对之前的版本做了一些改进,如下:
- 可以创建后续任务(一个任务完成之后再进行下一个任务)
- 为任务添加了版本信息
- 调整过滤栏中的控件,使之更美观
- 为RTF格式的备注编辑器的右键菜单添加了“粘贴为纯文本”和菜单项
- 把“Unsorted”更名为“Disable Sorting”。一但打开该选项,用户就只能通过菜单来排序。也就是说,可以避免不小心点中列表头而造成的排序。
- 增加使用Esc键最小化ToDoList的选项
- 增加打开任务列表时自动展开的选项
- 在编辑菜单中添加插入日期/时间的菜单项。它将把日期/时间插入到任何有输入焦点的文本框。
- 在工具选项中增加从其它配置文件导入工具配置的选项
- 将时间单位改变时,询问是否将时间进行等值转换
- 如果在已完成任务中增加未完成的子任务,则重新将该任务打开
- 菜单中加入工具栏图片
- 模拟某知名文字处理软件改进RTF编辑器的颜色选择控件
同时,随5.1 Beta版一起发布的帮助文件也修正了原来在某些操作系统下不能打开(因为不小心插入了两个特殊字符)的问题。帮助文件的名字也由原来的ToDoListDocumentation.tdl改成了todolist_help.tdl。
目前5.1版的ToDoList还没放出来源码(ToDoList是个开源软件),所以暂时还没有翻译出中文版本来。
Blog Tags: todolist
2006年12月27日
最近想把公司原来用CVS管理的代码迁移到SVN中去。主要是因为SVN是整个版本库共享一个版本历史,比较方便完整的Checkout某个工程。而且SVN还有一些CVS所不具有的良好特性,比如支持对目录版本进行管理,支持重命名和移动等。
上网查了下,大部分人用cvs2svn来将CVS版本库迁移到SVN中。但是cvs2svn似乎要用Python来运行,我向来对这个日本人发明的脚本不感兴趣,所以希望能找到其它方案。最后发现SVN Importer。SVN Importer不仅可以进行CVS版本库到SVN版本库的迁移,而且还可以迁移PVCS、VSS、ClearCase、MKS、StarTeam等VCS(Version Control System,版本管理系统)的版本库到SVN。
大家去Subversion主页的时候,通常都是直接去的www.subversion.org(subversion.tigris.org)。其实Subversion还有另一个主页www.subversion.com。.COM站我去得少,却没想到一进去最明显的那个位置就是SVN Importer。这个工具是用Java实现的,需要JRE来运行。而且,由于SVN Importer几乎都是使用源VCS自带的命令行工具来导出数据,所以需要安装源VCS。另外,SVN Importer向SVN导入数据的时候,用的是Subversion的svnadmin,所以还需要安装Subversion。
SVN Importer有两种方案来迁移CVS的版本库。
1. 使用SVN Importer内置的Java CVS通过pserver协议来导出数据;
2. 使用RCS直接从CVS版本库文件系统中导出数据。
数据迁移过程分三步。和其它工具类似,都是读数据、生成DUMP、导入DUMP。整个过程及参数配置都在文档里写得比较详细。文档目前只有英文的,不过目前Subversion中文站(www.subversion.org.cn)正在翻译SVN Importer的文档,相信中文文档不久就会面世。顺便打个广告——请有兴趣翻译的朋友与subversion.org.cn站长联系(http://www.subversion.org.cn/index.php?option=com_contact&Itemid=3),申请加入翻译队伍。
中文文档出台之前,总不能就不用SVN Importer吧,所以我就根据个人经验简单的介绍下吧。
SVN Importer的安装和运行很简单。下载之后解压到某个目录即完成安装。安装目录下有一个run.bat文件。运行run.bat的时候要带2-3个参数。第一个参数是操作模式;第二个参数是配置文件;第三个参数指定一个日期,表示仅迁移这个日期之后的数据。
SVN Importer有3种操作模式:完整、增量和列表。完整模式用于将源VCS的版本库数据全部导出;增量模式则用在第一次的完整模式之后,导出新增加的数据;列表模式只将要导出的数据显示出来,不实际导出。
至于配置文件,在安装目录下已经有一个config.properties作为示例。使用SVN Importer的时候只需要复制一份这个文件,再稍做修改即可。
配置文件中主要分四个部分:
第一部分,常规配置,这里选择源版本库,设置临时目录,以及中间文件的位置等。重要的一些设置如下:
srcprovider=源VCS,可以是cvs、cvsrcs、pvcs、vss、cc、mks等
import_dump_into_svn=yes或no,是否在生成DUMP文件之后立即导入SVN中(选否则不导入)
full.dump.file=完整模式时生成的DUMP文件路径
incr.dump.file=增量模式时生成的DUMP文件路径
incr.history.file=历史文件路径,这个文件在第一次完整模式时生成,以后使用增量模式时需要读取其内容。
第二部分是SVN相关的设置,主要包括svnadmin的位置和版本库中的一些设置。关键设置如下:
trunk_path=/trunk,主分支所在目录
branches_path=/branches,分支目录
tags_path=/tags,标签保存目录
svnimporter_user_name=SvnImporter,创建版本库的用户名
svnadmin.executable=svnadmin的路径
svnadmin.repository_path=产生的SVN版本库路径
svnadmin.parent_dir=将数据导入版本库里的哪们目录。想设置为根目录,将这个值设置为.(点号)即可;或者可以设置成工程名。trunk、branches和tags都会产生在这个目录之下。
第三部分是对所选择的源VCS进行配置,用于导出数据。因为工作中只是为了迁移CVS的数据,所以只用到了导出CVS的两种配置。稍后说明。
第四部分是对日志文件的一些配置。
第一次是直接使用的srcprovider=cvs,通过pserver来导出数据。想对于cvsrcs来说,这个速度要稍慢一些,但是它不需要安装第三方的工具,只需要使用内置的Java CVS就行,所以用来导出小项目还是比较好的。而且配置也比较简单,主要就是CVSROOT中的一些配置。
cvs.class=org.polarion.svnimporter.cvsprovider.CvsProvider
cvs.username=访问CVS版本库的用户名
cvs.password=上面用户名登录CVS版本库时的密码
cvs.hostname=主机地址
cvs.repository=CVSROOT目录
cvs.modulename=要导出的工程(或目录)
cvs.tempdir=存放临时文件的目录
后来考虑到CVS里面的工程都比较大,而且可能需要直接从版本库文件导出数据(不是通过客户端去访问CVS版本库,而直接访问版库的文件),所以又尝试了使用srcprovider=cvsrcs。这个情况下要用GNU RCS来导出CVS数据,所以需要安装RCS(http://www.gnu.org/software/rcs/rcs.html)。
RCS目前最新是5.7版,分3个包下载,分别是rcs57pc1、rcs57pc2和rcs57pc3。这3个文件包分别是编译好的二进制文件、文档和源码。其实只需要下载第一个包就行了,需要用到的也只是bin目录下的rlog和co两个命令而已。相关配置大概有:
cvsrcs.class=org.polarion.svnimporter.cvsprovider.CvsRcsProvider
cvsrcs.repository_path=CVS版库文件目录
cvsrcs.rlog_command=rlog命令的路径
cvsrcs.co_command=co命令的路径
cvsrcs.tempdir=保存临时文件的目录
配置好之后,一开始每次运行都失败,看日志也不知所云。大概是说某个文件没找到。于是决定手工运行rlog.exe来试试看。
rlog.exe cvsroot\common\common.sln,v
结果报错
rlog: cvsroot\common\RCS/common.sln,v: No such file or directory
很奇怪,为什么rlog非要塞一个RCS/目录进去呢?后来在论坛上查到,使用cvsrcs的时候,需要设置环境变量RCSINIT=-x,v/,虽然看不明白是啥意思,不过设置了这个环境变量之后SVN Importer跑成功了。
为了搞明白这个设置,所以只好去下载了RCS的文档来查看。在文档里搜索-x,v/,发现原来是配置RCS处理的文件后缀。未设置的情况下会去RCS子目录中查找文件。-x是设置后缀的参数,v是CVS版本库文件的后缀,而/是分隔符,其后没有东西表示为空。所以这个设置是兼顾,v文件和RCS/两种情况。
最后,由于CVS不能记录目录的更改历史,最后导入到SVN后,从HEAD里取出来的数据中有许多原来删除掉的目录和文件。感觉多冒出来的那些都应该是些空目录才对,搞不明白为什么还有一些删除掉的文件也冒出来了,还不太好找规律。所以,只好先对照从CVS里Checkout出来的最新版,删除掉多余的目录和文件之后,再Checkin到SVN中,这才算完成迁移过程。
Blog Tags: CVS SVN Subversion Importer
2006年12月13日
从发布Beta3以来,也不过几天时间,FlashGet的正式版就放出来了。作者申明,由于时间仓促,很多东西还没有改过来,将在2.0版中完成。也许是按计划,也许是其它原因,不过笔者觉得FlashGet正式版的发布还是有些操之过急。先来看看更新内容——
快车(FlashGet) 1.80 更新情况(2006.12)
1.80 新增功能、性能
=======================
1、增加全球首创的“插件扫描”功能
2、增加“相关推荐”功能
3、优化99%后的下载速度
1.80 已经解决bug
=======================
1、修正BHO在2003 vista下crash的bug
其中,“插件扫描”功能是何物,笔者眼拙,没有在官方网站上找到相关的说明或者解释;“相关推荐”也是一样。但是启动FlashGet1.8之后,很明显右边出现了一个推荐窗口,不知道是不是这个功能。还好,推荐窗口可以永久关闭(笔者对这个永久的理解是:下一次启动也不出来)。
最后,提醒一下,安装FlashGet过程中,文件拷贝结束之后,会提示是否安装Google工具栏,默认是选中的,不喜欢多余插件的朋友们要注意一下这里了。
Blog Tags: FlashGet
2006年12月9日
FlashGet1.8版本以前,在普通协议的下载速度上,始终都比不过迅雷。虽然FlashGet的镜像功能可以大大增加下载速度,不过似乎迅雷的P2P技术更胜一筹。那时候,FlashGet就只有两个功能比迅雷有用:一是“检查更新”;二是“修复损坏的Zip文件”。
不过最近偶然听说FlashGet1.8版出台,而且开始支持BT下载,很有兴趣。于是下载12月7日刚刚更新的1.8Beta3版本,试了一试,感觉还不错。BT功能和Bitcomet、比特精灵有得一拼,略微逊色。而普通下载还是存在那个99%的时候下载缓慢,不过这个时候一般可以先暂停一下下载,再重新开始就能解决。
FlashGet下载地址:http://www.flashget.com
FlashGet 1.80 Beta1-Beta3的更新记录:
快车(FlashGet) 1.80 beta 3 更新情况(2006.12)
1* 应广大用户要求,默认关闭搜索工具条
2* 增强对浏览器的下载监视
3* 修正对BT下载文件进行完整性检查的bug
4* 其他一些bug修正
快车(FlashGet) 1.80 beta 2 更新情况(2006.12)
新增功能、性能
1+ 优化多服务器超线程下载模块(MHT),较1.73版传统网页下载速度提升3-6倍
2+ 优化缓存,传统网页下载速度再一次提升30%
3+ 优化对浏览器的下载监视
4+ 增加制作BT种子的功能
5+ 增加对BT下载文件进行完整性检查
6+ 增加把FlashGet设置为"浏览器默认下载工具"的菜单项
7+ 优化搜索工具条,默认开启
解决的BUG
1* BT下载速度不稳定的问题
2* 健康度等信息的问题
3* 网页Button按钮无法呼起FlashGet的问题
4* BT下载速度显示起伏太大的问题
5* BT设置无效,下载限速无效的问题
6* BHO对象有时崩溃的问题
7* 下载部分文件时,Flashget自动退出的问题
8* 动态网址不能捕获到,导致无法下载
9* 无法取消BT种子文件关联
10* 1.73 to 1.8数据库转换错误,导致Flashget崩溃
11* 界面上左侧treeview树根名称不对
12* 主程序的帮助菜单要去掉"捐助快车(FlashGet)"项
13* BT种子文件不支持拖拽
14* 主界面速度显示超出区域
15* 增大磁盘缓存设置,最大可设置到512M
16* 部分文件下载后,不能用的问题
快车(FlashGet) 1.80 beta 1 更新情况(2006.11)
+ 新增BT文件下载功能
+ 兼容Vista系统
* 提升下载速度
* 全新设计的图标
* 其他一些Bug修正
Blog Tags: BT FlashGet
2006年12月6日
2006年接近尾声,大家在准备新礼物的同时,有没有想过给自己明年的工作准备一份周历。既然是为工作准备的周历,当然主要目的是为了有足够的空间记录日程安排和备忘事宜。虽说现在形形色色的日历不少,但是通常都做得小七玲珑,想用于记事却是空间不足。
首先,来设计一下。周历的纸张就用常见的A4或者B5纸都行,为了能记录更多的东西,这里选用A4纸。每页为一周,用表格划分为7行,每行一天,从周一到周日。既然是周历,当然每页上还应该有一个“第X周”。同时,它也应该提供月、日的信息,所以每一行的左边要打印月份和日期。另外,考虑到有些事情可能不属于一周中的任何一天,所以右边应该留一部分空间用来写未定具体日期的事件或者一周的总结。设计结果,大致如下:

既然是用邮件合并来制作2007年的周历,那么就按照邮件合并的三个步骤来:
一、在Excel中准备日期数据
周历需要的数据并不复杂,只需要2007年1月1日到2007年12月31日的日期数据即可。
一年365天是不可能正好填满每一周的,所以要往前和往后多取几天,也就是加入2007年1月1日所在周的2006年的日期,以及2007年12月31日所在周的2008年日期。同时,还必须确定,这个“周”是以星期一开始,还是星期天开始。比如,如果每周都从星期一开始,那么2007年1月1日正好是星期一,不需要往前取2006年的日期。但如果每周从星期天开始,则需要往前取到2006年12月31日。示例还是按中国习惯,每周从星期一开始,那么所日期数据是2007年1月1日到2008年1月6日。
打开Excel,在第一个单元格,即A1中填入“日期”,然后在A2中填入2007-1-1,然后选中A2到A372共371个单元格(为什么是371个单元格?因为7×53=371,也就是正好53周的日期),现在打开菜单“编辑→填充→序列”,并在随后打开的序列对话框中如下图设置并确定:

这样,从2007年1月1日到2008年1月6日一共53周的日期就产生了。现在来看看在Word中制作周历时需要的数据:月份、日期、星期几和第几周。除第几周外,其它几项都可以通过Excel的Text函数获得;而第几周在日历打印过程中正好就是第几页,所以不需要在Excel中准备,只需要在Word中适当位置插入页码就行。
虽然Text函数可以很方便的格式化日期,但是,Excel的帮助文档中似乎并没有提供格式化字符串的具体参数。其实没关系,它提供了一个更好的东西来帮助生成格式化字符串——单元格格式。
比如需要取得2007-1-1的月份,以中文显示为一月,可以这样操作。
1. 任选一含日期单元格(含日期主要是为了预览),从右键菜单中打开“设置单元格格式”。
2. 在弹出的单元格格式对话框的“数字”选项卡中,选择分类为“日期”,类型为“三月十四日”,因为这个最接近我们需要的格式。
3. 关键的一步,在分类中点选“自定义”。这时候在右边的类型处出现了格式化字符串“[DBNum1][$-804]m"月"d"日";@”。
4. 从格式化字符串中去掉关于日的部分,得到“[DBNum1][$-804]m"月";@”,同时在预览中可以看到以“一月”这样的格式显示日期。
如上步骤,已经取得输出“月份”的格式化字符串。同样的方法,可以取得输出“星期几”的格式化字符串。现在准备就绪,可以在Excel中继续生产制作周历所需要的数据了。
在B1、C1、D1、E1单元格中分别入“月”、“周”、“日”、“周序号”。然后在B2、C2、D2、E2中分别录入公式:
B2 =TEXT(A2,"mm月")
说明:考虑了一下,还是写成“01月”的形式,如果用中文十一月和十二月都会多一个字
C2 =TEXT(A2,"[DBNum1]aaaa")
D2 =TEXT(A2,"dd")
E2 =INT((ROW()-2)/7)+1
说明:Word中插入页面大家都会,不如示范一下用公式来取得第几周。其实也很简单,就是找第几周和行号的关系了。另外一种方法是根据1月1日是一个星期的第几天(星期几)来算,这个算法复杂得多,不作介绍了。
将B2到E2的公式填好之后,选中这4个单元格,有没有看到选区外框的右下角有一个方形的点?将鼠标移上去之后,鼠标会变成实心的十字形。对了,就是这个点,双击它,刚才写的公式就往下填充到了372行。怎么样,快吧?
将Excel表格保存为“2007日历.xls(或其它名字)”。现在数据准备好了,该准备Word模板了。
二、用Word制作周历模板
虽然Office2007已经发布了,但是用Office2003及以前版本的人还是多数,所以以Word2003为例。在Word2007中的操作也类似,只是邮件合并的操作略有不同。关于邮件合并的详细详解,请参考我的另两篇文章:《在Word2003中使用邮件合并》和《使用Office打印成绩通知单和成绩条》。
新键一个Word文档,适当的调整页面边距。然后在第一行输入“2007年第N周”。
新起一行,插入一个7行3列的表格,并按前面的图示调整好表格的大小的表格线的颜色。在设置行高的时候有一个小窍门哦——将表格底线下拉到页面,然后选中整个表格,从右键菜单中选择“平均分布各行”即可。如果想让周六和周日的高度不一样,可以先调整第五行的底线到合适位置,然后分别选中前五行和后两行,各进行一次“平均分布各行”即可。
然后在第一个单元格里按图示填入星期几、月份和日期,并设置好字体及大小。
下面准备引入数据。
1. 右击Word工具栏,选择打开“邮件合并”工具栏(如果不知道在哪里,也可以从菜单里找到:视图→工具栏→邮件合并)。
2. 点击工具栏上的“打开数据源”按钮,选择刚才的Excel文档和正确的工作表。
3. 将“2007年第N周”中的那个“N”替换成“周序号”域。通过工具栏上的“插入域”可以找到“周序号”及其它域。
4. 将第一个单元格中的星期几、月份和日期分别替换成“周”域、“月”域、和“日”域。
5. 在表格第一行的第二个单元格中插入“下一记录”Word域。方法是在邮件合并工具栏上点击“插入Word域”并从中选择“下一记录”。
6. 选中第一行,复制;再选中剩余的6行,粘贴。
7. 很关键的一点,删除第7行第二个单元格中的“下一记录”Word域。因为合并的时候,Word会自动在换页时下移一条数据。
模板制作完成,下面可以进行合并了。
三、邮件合并产生周历
从工具栏上选择“合并到新文档”即可,稍后可以从合并产生的文档进行打印。不过在合并之前,还可以先预览一下,点击工具栏上的“查看合并域”即可预览。在预览的时候还可以对格式进行一些调整。
合并到新文档之后,可以先将这个新产生文档保存下来,以备以后重复打印(自己不需要那么多,可以送人啊)。
单面打印这份周历,共需要53页纸。如果觉得有点浪费,不妨双面打印。打印的时候请注意你的打印机是先进先出还是先进后出。
如果打印机先进先出(比如部分惠普打印机),那么先用逆页序打印偶数页;再将打印出来的纸翻面送入打印机,再以非逆页序(正页序)打印奇数页。如果打印机是行进后出(比如部分三星打印机),则先逆页序打印偶数页,再逆页序打印奇数页即可。
选择打印奇偶数页和打印顺序的位置,如下图所示(注意,打印的时候从文件菜单里选择打印,不要使用工具栏上的打印按钮,因为工具栏上的打印按钮不会弹出打印设置对话框):

Blog Tags: word 邮件合并 日历
2006年12月5日
Color Sucker,中文名“颜色吸管”,目前是1.0.5版本,是一款国人编写的免费拾色器。在1.0.5版本之前,它的名字一直叫ColorSnap,从Google的搜索结果来看,也是比较出色的一款拾色器。

Color Sucker出自“网风工作室(http://studio.nfree.cn)”。其除了具有最基本的拾色功能之外,还内置一个配色器(调色板),并且提供了一张配色表用于颜色的对比。捕捉到的或者调制好的颜色,它还能以3种格式输出:十六进制、10进制RGB、Delphi颜色值。
Color Sucker界面非常漂亮,使用起来也比较顺手。如下图:

打开窗口后,很容易注意到右边“颜色捕捉”区的右下角有一个“这里”。当你把鼠标移动到“这里”时,会弹出提示。原来捕捉屏幕颜色就是从“这里”开始的。在“这里”按钮下鼠标并拖动到屏幕任意位置,Color Sucker就会捕捉周围的一小块区域并将其放大2倍显示在“颜色捕获”区,其中十字型的位置正好就是鼠标所在的位置。同时“这里”会显示十字型交叉点处的颜色。
界面左上角是RGB分量,捕捉颜色之后可以在这里进行微调。通过“-”、“+”两个按钮或者直接修改调整RGB分量的大小,可以非常方便的改变颜色。而改变后的颜色在“颜色捕获”区右下角的“这里”处显示。随便着“这里”颜色的变化,窗口左下角的“其它格式”区中的各值也会相应的变化,可以根据需要,选择它们右边的“复制”按钮,将特定格式的RGB值复制到剪贴板。
窗口的右下角有六个按钮,分别是“调色板”、“保存”、“历史”、“颜色表”、“关于”、“退出”。“保存”按钮会将颜色保存在历史列表中,而“历史”按钮则用于打开历史颜色列表以选择以前捕捉或者调配的颜色。颜色表是以网页的形式打开一个配色表,这个网页保存在Color Sucker的安装目录下,名为color.htm。目前1.0.5版的Color Sucker有个BUG,有些时候不能打开颜色表,这时候,自己用浏览器打开color.htm就可以了。
Color Sucker的调色板功能也非常不错,是个比较专业的调色板(配色器):

这个调色板左边有48种基本颜色,还有12个自定义颜色的位置,这些都很普通,关键是右边的调色控制面板。
上面的大圆圈中,能够可视地选择360度的色相,这个值同样反映在下面的H值中,同样,改变下面的H值,也会影响到选择点在360度色相圈中的位置。色相圈中间的那个方块则用于可视地选择颜色的饱和度和亮度,这两个值也就是下面的S(饱和)值和L(亮度)值。同样,对S值和L值的修改也会通过选择点反映在方块中。
除了通过色相/饱和度/亮度来调配颜色之外,Color Sucker的调色板当然也支持最常用的通过RGB值来调配颜色。
注意到R、G、B、H、S、L每个数值后面的小圆角矩形块,点击它后,会弹出一个滑动条。拖动滑动条小圆形小滑块,可以非常方便的改变数值。
作为拾色器的调色板,Color Sucker的功能是非常强大的。除此之外,由于其捕色时要放大捕捉区域的特色,还可以临时把它当作一个屏幕放大镜使用(只是范围小了点)。在“关于”窗口中,作者提供了自己的联系方式,所以,如果你发现哪里还不够满意,可以非常方便的找到作者,提出修改意见,这可是免费的售后服务哦!
Blog Tags: 拾色器
2006年11月29日
于2005年5月发表于www.pcworld.com.cn的[Office技巧]栏目
引言
每到期末,班主任或者辅导员就要开始收集学生的各科成绩,统计总分,计算名次等。然后就要开始打印每个学生的成绩通知单,装入信封,寄给家长。最原始的做法当然是找两个动作麻利的班干部,在打印好的表格里填上成绩,再装入信封。这样,直到把全班几十个同学的成绩通知单都处理好时,已经是腰酸背痛,手腕麻木了。——既然有 Microsoft Office 为什么还要这样折磨人呢?
成绩通知通常有两种形式,一种是“成绩通知单”的形式,即每页纸一个成绩,还附加一些关于本学期和下学期的信息,如报名时间、费用等,如图1所示:

图 1
成绩通知的另一种形式是“成绩通知条”,即仅仅在一张小纸条上,填写了学生成绩,如图2所示:

图 2
下面,我们就开始一步步制作成绩通知单(条)。首先来看看必需的数据,即成绩。它存放在一个名为“成绩.xls”的 Excel 文档的“成绩”工作表中,如图3所示:

图 3
制作成绩通知单
根据任务的特点,不难想到使用 Word 的“邮件合并”。
邮件合并功能需要两个文档,即数据源和模板文档。数据源通常可以是Word表格、Excel 表格以及数据库表格等,这里就用我们上面提到的那个存放数据的 Excel 作为数据源。模板文档当然需要在 Word 里新建了。现在我们来一步一步的准备成绩通知单吧(注:本文以 Office 2003 为例,其余版本的 Office 中操作类似,可能略有不同):
第一步,新建一个 Word 文档,打开“邮件合并”工具栏(右键单击 Word 工具栏,在弹出菜单中选择“邮件合并”)。点击工具栏最左边的
(设置文档类型)按钮设置主文档类型,即在弹出的对话框中选择“信函”。
第二步,在“邮件合并”工具栏上点击
(打开数据源)按钮,选择我们准备好的“成绩.xls”为作数据源。在这一步中请注意,如果“成绩.xls”中有多个工作表,请选择正确的工作表作为数据源。在 Word 2000 中,没有提供对工作表的选择对话框,那么请把数据表移到 Excel 文档中的第一个工作表位置。
第三步,撰写模板文档内容,并在适当的位置插入正确的“域”。比如,先写好“学号: 总分: 排名:”,再将光标移动到“学号:”之后,单击“邮件合并”工具栏上的
(插入域)按钮,打开如图4所示的“插入合并域”对话框。注意对话框中已经根据数据源列出了所有的域名,即图3所示 Excel 表格中的第一行。这里选择学号。同样,依次将光标移动到“总分:”和“排名:”之后,分别插入相应的“总分”域和“排名”域。完成的模板如图5所示:

图 4

图 5
插入合并域的时候,如果需要控制格式,可以直接在合并域上进行格式操作,如图5中给“姓名”加下划线。但是一定要注意一点,域是一个整体(如果将文本光标移动到某个域上,整个域的背景都会变成灰色,以便区分),所以,无论做什么操作,都要把域作为一个整体来考虑;更不要手工去修改域的名字,虽然这样做时不会报错,但这样做不仅没有意义的,反而会把事情弄糟。
模板文档完成了,不妨先看看实际效果。单击“邮件合并”工具栏上的
(查看合并数据)按钮,此时文档中的域都会替换成数据源中的数据,至于是替换成那一条数据,则是由工具栏上的
这组按钮决定的。
最后核对无误之后,使用“邮件合并”工具栏上的
(合并到新文档;合并到打印机)两个按钮中一个来进行合并。这里我们可以选用“合并到新文档”按钮看看合并的结果,如图6所示。最后只需要打印这个文档再分别装入信封即可。

图 6
制作成绩通知条
制作成绩通知条完全可以使用和制作成绩通知单相同的办法,即邮件合并。只不过合并类型选择为“目录”,而不是“信函”。但是既然只需要用 Excel 就成解决,何必再去麻烦 Word 呢。
实现成绩通知条,其难点在于给每一条数据都要加上表头,如果能有空格分隔便于裁切就更好。如果我们新建一个工作表,根据当前的行数引用“成绩”表中不同的行,那问题就能很好的解决了。原理说起来似乎有些复杂,所以请先跟着我做,之后再容我慢慢解释。
在“成绩.xls”中新建一个工作表,命名为“成绩通知”。在“成绩通知”工作表的“A1”单元格中输入如下工式:
=IF(MOD(ROW(),3)=1,成绩!A$1,IF(MOD(ROW(),3)=2,OFFSET(成绩!A$1,ROW()/3+1,0),""))
输入公式并回车后,再次选中“A1”单元格式,向右拖动选中符号右下角的小方块进行填充,直到将“成绩”工作表中第一行的数据完全复制过来为止。本例中拖动到“K1”单元格。然后再选中“A1:K1”这些单元格,向下拖动选中符号右下角的小方块进行填充,直到第29行。
最后结果如图7所示。将这个表格打印出来,裁切分装即可。

图 7
现在来说说为什么要这样做。
当然首要的是解释那个公式的意思,我们先把公式中的两个IF语句标记出来:
=IF(MOD(ROW(),3)=1,成绩!A$1,IF(MOD(ROW(),3)=2,OFFSET(成绩!A$1,ROW()/3+1,0),""))
可以看出,第一个IF语句(标记为红色)中,“MOD(ROW(),3)=1”是条件。当条件成立时,结果为“成绩!A$1”;条件不成立时,结果由第二个IF语句决定。这个IF语句的意思是,当前行号(由ROW()返回)除以3的余数为1的时候,本单元格的内容就是“成绩”表A1的内容;否则,其内容由第二个IF语句决定。
第二个IF语句(标记为蓝色)中,“MOD(ROW(),3)=2”是条件。条件成立时,结果为“OFFSET(成绩!A$1,ROW()/3+1,0)”取得的值;条件不成立时,结果为空白。其中“OFFSET(成绩!A$1,ROW()/3+1,0)”表示,从“成绩”表的A1往下数第ROW()/3+1行处的单元格的值。这个IF语句的意思就是,如果当前行号除以3的余数为2的时候,本单元格的内容是“成绩”表A列1+ROW()/3+1行处的值;否则,其值为空白(用于产生空行作为分隔)。
所以,整个公式就是根据当前行号计算出来应该引用“成绩”表中表头、对应行数据还是空白。而后之所以要复制29行是因为原来10行数据,每行数据在“成绩通知”表中都是3行,即表头、数据和空白,这样就是10*3=30行,因为最后一条数据的空白可以不要,所以是30-1=29行。
注意公式中的行号都是使用的绝对引用,因为所有内容的引用位置都是以“成绩”表的第一行为基础进行计算的。
结束语
这样制作成绩通知单(条)是不是自动化多了?而且大大提高了效率,值得推广。同样的原理,公司或者机关里发放的工资对帐单(条),也可以使用这个办法,以减轻工作量,赶快试试吧!