<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9" -->
<rss version="0.92">
<channel>
	<title>写笔记的小JOE页</title>
	<link>http://xiebiji.com</link>
	<description>Joe&#039;s Notebook</description>
	<lastBuildDate>Sat, 11 Feb 2012 16:05:37 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>我们心里都有个房子</title>
		<description><![CDATA[
我们心里都有个房子；
房子里有好多房间，好多人来看房；
我们有时候错觉地认为某个人会住下来，后来才发现她们只是过场的；
后来，
有一个人真住下来了，我们就把最大的房间留给第一个她；
不管外面风雨再大，她就住在那，一直都不会搬走；
我们有空就敲敲房门，打开门看一下，打扫打扫；
慢慢地进来住的人多，我们就把房子修大了，隔了更多的小房间，却没有一间比那间大；
但所有的房间里有那么一间，
可能是最大的那间，也可能不是；
里头住的人可能是第一个她，也可能不是；
我们永远都清楚知道里头是怎么布置的，墙壁是什么颜色的、花盘放哪的、被单是不是乱放着的…
因为，
我们自己也住在那；
我们没法选择最大的那间，却有办法选择最舒适的那间。
而一切都没变，只有那房子一直在变强变大。
心都是活的，心也在成长着。
更多的文章2008-08-27 -- 终于完成任务了！三下乡专题页！2008-11-29 -- 超方便！mootool function之bind this!2011-09-24 -- 这么好的天气，应该出去走走。突如其来的天后宫。2010-01-30 -- js中方法类的拟静态属性、公有属性、私有属性2010-11-26 -- 复习XMLHttpRequest，记个小笔记]]></description>
		<link>http://xiebiji.com/2012/02/january-summary/</link>
			</item>
	<item>
		<title>12月总结 &#8211; 奔向末日前的迷茫</title>
		<description><![CDATA[2011年就这样过去了。
元旦已经过了一天，昨晚跟一女生聊天，别人说她不知道自己想要什么。
我霎时间没想到要怎么安慰她，因为我也不知道自己想要什么。
也许大家都会迷茫，都在想未来的路是怎样的，生活方式？工作？爱人？
这过去的12月，迷茫了。
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
工作上，自己是不是在浪费青春？
为什么羡慕别人知道之多。
是氛围不对，还是自己想得不对。
唯一确定的是到今年7月份，两年之期就到，路要怎么选择？
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
感情上，
不能弄不清自己想要什么，不然会伤害人。
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;
生活还在继续嘛。
从前有个朋友她换了个工作氛围，又单身了，她以前说过一句话：好多事情都好像不重要了。
这也许是好多一路走过来的人必然会有的感想，只是迟早的问题吧。
各种迷茫都不重要，能有信就好了吧。
如果觉得未来是黑的，那现在活好，把开心的事情记下来，最后也许会发现其实早就有了想要的生活方式。这世界太多东西值得去欣赏，不知道自己想要什么，谁能肯定一定是坏事呢？
我们都没法把时间倒着过，但留下的言语却能倒着看。
文章写到这里，听到了《My Lucky Day》
“不久，我会微笑 
 一切都将好 
 我将不用担心了 
 这将是我的幸运日 ”
谁都会消失，如果把消失理解成悲剧，我们每个人最后都是悲剧，那留一片欢乐就好。
这末日前的迷茫，也许是冥冥中美好未来的启示罢了。
一切都在昭示着一个我们想要的结果。
更多的文章2011-06-17 -- Canvas滤镜预研2009-04-03 -- 平面设计常用尺寸2008-11-24 -- 路过的，飘过的，来帮帮我投票吧！2008-08-23 -- 哈~搞PS时画笔工具模拟压力失效？-模拟压力使用条件2008-08-14 -- dl dt dd标签的用法(附加label用法)]]></description>
		<link>http://xiebiji.com/2012/01/summary-2/</link>
			</item>
	<item>
		<title>11月总结 &#8212; 是好的，做，就对了</title>
		<description><![CDATA[11月是我这上半辈子最值得怀念的一个月。
工作方面，无时无刻我都在转变。
早上上班，下公交车到公司的那段路，我习惯性地思量自己的工作表现，思量往后要怎么发展。
却未果。
生活方面，好像已经趋近一种习惯了，下班不是看书就是弹琴，又或是聚会，一眨眼一个星期就过去了。
好多东西都想学，都想做，却不知所措。开始有点迷茫往后的路该怎么走了。
我有自己的梦想，却没有把梦想按时间段具体量化成现实的目标。
想很多，知道要留意，却留意不多。
想得到很多，却越是想得到，越是难以得到。
明白了一个道理，好多事情已经不重要了，重要的是自己是什么感觉，而别人都没义务去理会我感受。
我不能太矫情了。
唯一知道、必定要做的是，要找个时间把一个长期的计划写出来。
只要严格执行一个对自己好的计划，我相信就算迷茫，也会在迷茫中慢慢找到方向吧。
是好的，做，就对了。
更多的文章2009-02-03 -- mootools 1.2版本的中文手册html版，直接放在服务器上啦2009-07-13 -- 自编as3影片剪辑倒放类2008-12-07 -- php中json_encode转数组为json字符串时的超奇怪问题。2009-06-25 -- PR4下滑到PR3,我心神不宁了~2010-03-31 -- 腾讯10天培训有感]]></description>
		<link>http://xiebiji.com/2011/12/11%e6%9c%88%e6%80%bb%e7%bb%93-%e6%98%af%e5%a5%bd%e7%9a%84%ef%bc%8c%e5%81%9a%ef%bc%8c%e5%b0%b1%e5%af%b9%e4%ba%86/</link>
			</item>
	<item>
		<title>10月总结 &#8212; 得到越多，就要明白得不到或失去时有多悲痛。</title>
		<description><![CDATA[最近感情问题比较多，多聪明的人都会被情所困，何况是我这种中庸之辈呢？
工作方面：
自从架构调整后，大伙都很沉寂，沉寂得有点令人心寒。
很明显我需要从新审视这个局面。
专业自闭=慢性自杀。
太多的细节这里还是不谈了。
生活方面：
有几个点需要记一下：
1. 我正随心所行。
这种随心放纵必然引发一个方向选择的问题。一直在变，为以防自己会往坏的方向发展，我需要明确一些事情。
梦想
我有最终想追求的生活，所谓的梦想，这即使在很多人看来是多么渺小的梦想，渺小得我不愿意在这里谈及，但我觉得我是幸运的，起码我有那么一个方向。
现实
我有的，我没的；我即将得到的，我即将失去的；我创造的，我毁掉的。
2. 往后更困难。
拿得起放得下
前路有多困难，即使是悲剧的收场，也要努力把过程点缀成美好的回忆。纸花没有活花的容颜，也要有追求的权利，也要有自尊的心。也许就一镜花水月罢了。

3. 重新认识这个世界。
跨出一步
朋友说我活在自己的世界里。只因我知道的太少，外面的世界想认识我，我却没有让它融入我的世界。

10月的厦门游，把心的感觉明确了，不后悔了。
最后真心觉得：
得到越多，就要明白得不到或失去时有多悲痛。
更多的文章2008-11-24 -- 路过的，飘过的，来帮帮我投票吧！2008-08-12 -- 新做的LOGO！2008-10-31 -- JSON 在JS和PHP中的应用2008-11-20 -- 英文课上学习的广告原则2009-06-10 -- 分享一个超强基于mootools v1.11版的multibox/lightbox]]></description>
		<link>http://xiebiji.com/2011/11/october_summary/</link>
			</item>
	<item>
		<title>问题分析与解决学习</title>
		<description><![CDATA[学习《问题分析与解决》，记了点笔记。
开始之前推荐了一些书《思考的技术》《高效能人士的七个习惯》
得到以下各种结论：
一.认识问题
这是有意思的一个环节，我们提问题时往往有可能连问题都没找到。首先要理清问题的本质：是现状与目标，标准或期望发生了差距。
问题不是一种判断，不仅仅是一个事实，也不是原因、解决方案。
我们举了个例子来说明这个事情，故事是这样的：他老婆的哥哥生日了，于是他老婆就给他说“你觉得我们是给600块还是1000块呢？”
这句话是一个合理的问题么？不是，期望的是让她哥哥在生日那天开心，她哥哥缺钱么？不缺，送钱不符合期望。还不如回归事实真相，收集资料，看她哥哥是喜欢什么的，送一份有心意的礼物即可。
这反映了一个什么现象？
我们往往在提问题的时候就不自觉地加上了解决方案。
提问题需要技巧和方法，具体怎么做呢？
可以用4W2H的方法来提取问题。该方法很简单，以What(事物)、Who(人)、When（时间）、Where(地点)、How(方式)、How Many(Much)(程度)来描述一个事情，就能做出总结提出问题。具体大家可以查阅相关资料。当这几个维度都分析过之后，问题真正形态自然就出现了。
二.问题原因分析
主体思路是这样的：找出所有原因-&#62;确定根本原因
1.找出所有原因，可以用头脑风暴的方法(我们可以尝试一下用MindManager辅助来做头脑风暴)，当找出很多不同原因之后，我们分类并且合并所有原因。
2.确定根本原因，这里的依据是“二八法则” &#8212; 一项事物中约20%的要素却决定或拥有80%的结果。
寻找根因，有几种方法：
a. 5W法
对于较为简单、范围较窄的原因分析，我们可以用5W法，即如：为什么A，因为B；为什么B，因为C；为什么C，因为D；为什么D，因为E。最终E即为根因。
b. 要因分析法
较适合复杂、非量化的原因分析。主要做法是找出所有因素之间的因果关系，经过简单的符号运算，就此评判出原因体系的一种方法。

列个图表研究因素之间的关系，是因记-1分，是果记1分。
临界域为: [最小值/2,最大值/2]
在域的左边为根因，域内为过渡因，右边为近因。
c. MECE法（逻辑树）
这个大家可以翻阅资料，这里不累述。
三.其他内容
课程内容很多，不能一一列举，这里说一点简单易懂的。
关于产生创意的方法：强制关联法、属性列举法/质问法
而产生创意思维的条件，有好几个，我觉得值得一提的是：营造创意环境，也就是说每个人在特定的环境下会激发自己的创意思维，例如说在听某首音乐曲子的时候。我们可以寻求一下自己的创意氛围。
课程还很多内容，这里没能写全，如有错误请指出。
更多的文章2008-08-10 -- WP一个功能的实现：关于摘要跟分页的功能实现(1)2008-09-09 -- 昨天去补牙了！！2011-08-27 -- 8.11泰国游，美好的一段经历。2009-10-13 --  上班的时候经常玩这游戏-植物大战僵尸2009-08-08 -- 发现两个比较适合我看的英文博客，记下来！]]></description>
		<link>http://xiebiji.com/2011/10/pro_done/</link>
			</item>
	<item>
		<title>9月总结</title>
		<description><![CDATA[9月份与情感上有了不一样的感悟。
工作一年多，慢慢感觉以前忽视了感情修养的修炼。
慢慢觉得要变成熟，变稳重，但又力不从心。
我干了啥呢？
9月份我做了个重要的决定，我的阅历太少，我要多了解这个世界，于是有独自旅游的冲动（http://user.qzone.qq.com/23456325/blog/1316857461#!）。
当然除了旅游，要增长阅历的话，我还需要多看书。
于是，我决定每周起码去两次书城。然后每周六晚上到楼下咖啡厅看书或者发呆想东西。
一直在变，但总相信这一切都会导向一个好的结果。
更多的文章2009-02-01 -- 或许“乐笑四年终日谈”比不上“寒窗一季半席话”2008-11-25 -- if IE html里面的条件控制语句2008-08-17 -- 漂亮的一套黑白图标，分享了2009-06-04 -- 一个家具贸易网设计2011-02-20 -- 2011年第一篇总结[1、2月]]]></description>
		<link>http://xiebiji.com/2011/10/november_summary/</link>
			</item>
	<item>
		<title>这么好的天气，应该出去走走。突如其来的天后宫。</title>
		<description><![CDATA[








工作努力，生活随意。
这是我从一个公司高层的言语中学来的。
QQ空间不给外链图片，移步一下吧^_^
http://user.qzone.qq.com/23456325/blog/1316857461









更多的文章2009-10-10 -- 学正则！超基础简单例子2008-08-09 -- JS中的escape()2009-06-25 -- PR4下滑到PR3,我心神不宁了~2008-11-25 -- 一个1px*1px的透明png字符图片2009-09-03 -- 这个女的是谁？漂亮mm大一新生入学指南授课！]]></description>
		<link>http://xiebiji.com/2011/09/lonely_travel/</link>
			</item>
	<item>
		<title>8.11泰国游，美好的一段经历。</title>
		<description><![CDATA[首先晒个照片先，感觉这张拍的最好了，当然我还PS处理过一下的^_^! 注意：小单选不是我女朋友啊~

这是在看老虎的时候被偷拍的，当然左边那个是我啦。同事说很像在拍偶像剧喔！我居然也有这样的照片哈，挺欢乐的。
回归正题，我们是2011年8月11日到8月15日的泰国游。
鉴于我不常写旅游日志，以下内容就从简啦^_^。
整个旅游过程
星期四（11号那天），从公司下班就去深圳蛇口坐船去香港坐飞机，差不多10点才登机，下面的照片貌似是回来的时候拍的：

然后去到曼谷，我看了下iphone，显示的是深夜两点了，但实际上是国内的3点，泰国的时间比国内晚一个小时。Ps.这里说一下，iphone真强悍，自己会把时区调过来的，我当时就觉得自己奥特曼了。

所以到那边的时候已经很晚了，到了曼谷一家酒店后，到睡觉的时候已经是3点了（国内4点），给个酒店的照片：

对了，这里提醒一下去泰国旅游的朋友啦，记得要自己带牙刷牙膏什么的，因为泰国有些酒店不提供这些东西的。
第二天起来给外面拍了个照片，他们的私家车还挺好玩的：

具体旅游行程我有点混乱了，直接放照片吧。

建筑好奇特。

他们的出租车好多种颜色，几辆跑在一起的话，会好像一个赛车队似的。
大巴也很有特色

行程中我们参观一个叫“观音娘娘亭”的观光点，它是在海边的，要坐船在海上看，上船前，发现他们摆设还挺有意思的。那里的人还请我吃了一根很小的香蕉。

观音娘娘亭旁边其实有一尊佛的，传说，他死后，那里的鱼会游过来吃他的肉，于是那里的海边很多鱼。

这里没拍到那个佛像，但我们去到得时候，确实好多鱼在那里，游客喂它们吃面包。
这里坐船的时候我还是被偷拍了一张！

脖子上的花圈是有个泰国小孩卖的。嗯，这样看起来就像游客了。
之后我们还参观过了泰国的的宫殿：



整个宫殿金碧辉煌的。

他们的步兵走起路来很恶搞。
这里有个小分队合照：

我左边戴帽子的是我们的秘书mm,整个旅程真的很感谢她。
去完宫殿了，我们还去逛一些购物点


然后我们去了一个动物园
去芭提雅的时候，我们去了红灯区，那个叫震撼啊。重口味的不发了，怕和谐。

这是一条好多好多外国人的街，各种重口味bar，可以看到好多人妖。

上面站的人其实在跳脱衣舞的！
-___-!反正去那里让你毕生难忘的。
后来我们还到泰国最高的大楼吃自助餐：


还去了动物园看老虎、鳄鱼表演

还去了海滩，沙子是白色的哦！

各种忘记名字的餐馆


再后来，就是大型的人妖表演了，很有艺术感：




当然我们还看了大型的重口味表演，由于不给拍照片，这里就不放啦！
在旅游点经常有人偷拍（-_-!站在你面前拍照算偷拍么？）你的照片，然后做成各种东西，卖给你。

最后放个合影：

感受嘛，就是一辈子都值得回味的记忆啦。
更多的文章2008-08-15 -- wp-thread-comment插件改进用法，评论、回复总数显示（原创）2010-10-03 -- 月度总结-9月2009-09-03 -- 这个女的是谁？漂亮mm大一新生入学指南授课！2008-09-13 -- 被点名了！汗！2008-09-09 -- 昨天去补牙了！！]]></description>
		<link>http://xiebiji.com/2011/08/travel_in_thailand/</link>
			</item>
	<item>
		<title>最难受的时刻</title>
		<description><![CDATA[从泰国旅游回来，带了一个带自己相片的相框回来。
现在放在桌子边，很不自觉地端量着照片里头静止的自己。
20多年来从来没有仔细观摩过这样的自己，心里想，是什么原因会让一个正处于风华正茂的小伙子，表情里充满忧郁，眼里却带着依稀的憧憬？
我没法用理性的辞藻来解释这是怎么一回事，我甚至不清楚是什么时候开始的。
也许迷茫了。
照片里的人好像很努力地在证明一个事情，但是这个事情，连他自己都不清楚是什么。
渐渐地，他即使知道自己的某些观点跟别人背道而驰，他都努力地让别人承认自己的看法。
或许他根本就没在意事情的对错，他只是想找个跟他一起错的人，这样他就心满意足了。
因为他太难受了，他怕就算他有一天大哭一场也没有人知道他为什么而哭。
最难受的时候不是伤心的时候。
人不在乎说服了多少人，只在乎跟多少人一起被说服了。
没人理解，心就死了。
更多的文章2008-11-11 -- 1111光棍节无限快乐！2009-08-08 -- 发现两个比较适合我看的英文博客，记下来！2008-12-20 -- 【自制】Wordpress 2.7 Fashion Blue Theme 1.0主题发布！分享！识别分辨率2010-01-10 -- [自制]Wordpress 2.9 White-Html5 Theme 1.0主题（双）上线2008-12-07 -- php中json_encode转数组为json字符串时的超奇怪问题。]]></description>
		<link>http://xiebiji.com/2011/08/sadtime/</link>
			</item>
	<item>
		<title>7月总结</title>
		<description><![CDATA[7月份是个悲喜交集的月份。
从去年7月入职到现在整整一年，即使日复一日，但我还是觉得无时无刻都改变，有被动的改变，也有主动的。
有时觉得仿佛正往一个虚无缥缈的结果前进，那最终会是怎样，无法知道，自己却有着一种懵懂的憧憬。
回顾一下最近发生的事情：
1.对我很好的导师离职；
2.工作室的师弟师妹来实习；
3.我下决心学一个以前一直想做但没做的事情；
4.认识了让我觉得自己很幸运的人；
5.旅游去了，发现自己寡言了；
6.开始觉得自己一直在犯错。
总结完以上一些事情后，胡思乱想一下：
1.我们在一个围城里头，里面的人往外跑，外面的人往里靠；围城的主人并不关注某个人的来往。
2.做得多，教的也多，谁是个全职保姆谁就悲剧了。
3.有时疯狂也就是为了了结个心愿罢了。
4.两个人相遇并袒露心声，何等难得，那是多少辈子才修来的缘。
5.世界很大，让我们感想万千，无情的词穷却让连接心灵间的铁桥锈化、堕落。
6.是错太多？还是想太多？
写完了&#8230;
更多的文章2010-02-12 -- 看《忠犬八公的故事》，哭死我啦2008-08-16 -- 想你的FLASH符合W3C标准？用swfobject.js吧！2010-08-14 -- 一个简单的HTML类名命名思维2009-02-25 -- [转载]推荐3个网页设计在线配色网站2008-09-16 -- 18号要去广交会啦~]]></description>
		<link>http://xiebiji.com/2011/08/july/</link>
			</item>
	<item>
		<title>6月总结&#8212;事情坚持就会是好事</title>
		<description><![CDATA[慢慢的，好像对写日志有点抗拒了。
但我能肯定的是，不管写的是什么文字，写的有没用，只要坚持写下去，或多或少总会对自己有用。
于是我还是需要坚持。
我们都很浮躁，这是正常的，年轻人的通病。
为什么浮躁？
那只是因为少了一份坚持的心。
对什么事什么人做了些什么，只要知道初衷是好的，预知的结果也是好的，剩下的只是中间坚持的过程。
我懂这个道理的，易说不易做，大道理大家都懂，真正做到的没多少位。
别人指出或自己反省都能使我们自己轻而易举地看到自己的不足。
但人活久了对自己的缺点或坏习惯不是视而不见，而是力不从心，这种“爱莫能助”确实无奈。
不是没有正确的觉悟，只是少了份至死不渝的决心。
好的事情，初衷只是卖关子，结果只是作附属，歌颂的应该是不懈的过程。
更多的文章2009-04-14 -- 奇思妙想？？2009-10-20 -- 画了个飞机logo，既然不喜欢我直接改造2009-07-13 -- 自编as3影片剪辑倒放类2008-11-24 -- 路过的，飘过的，来帮帮我投票吧！2008-08-10 -- WP一个功能的实现：关于摘要跟分页的功能实现(1)]]></description>
		<link>http://xiebiji.com/2011/07/june/</link>
			</item>
	<item>
		<title>5月总结</title>
		<description><![CDATA[各种露营，各种搬家，各种周末恐惧症，各种懒洋洋。。。5月是个不着调的月份，一笔带过~
更多的文章2012-02-11 -- 我们心里都有个房子2009-06-07 -- actionscript 3 中遍历数据首选for each&#8230;in2008-08-09 -- (转)WordPress代码高亮插件WP-Syntax2008-09-05 -- 推荐两个FLASH Music Player!2008-08-23 -- 一夜之间BLOG Alexa排名上升400W名，百度收录？？]]></description>
		<link>http://xiebiji.com/2011/06/may/</link>
			</item>
	<item>
		<title>Canvas滤镜预研</title>
		<description><![CDATA[Canvas滤镜预研
 
 最近小花对Q拍的滤镜效果很感兴趣，折腾了一下，其实用canvas也可以模拟这些效果。 
先看个demo:

最佳体验配置：pc用chrome或safari打开或ipad/ipad2/iphone4打开这里 。
纯web图形处理与native app图形处理的区别，这里就不阐述了。欢迎大家讨论。
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
以下为全文：
 
HTML5 的canvas相信大家早有听闻，不支持flash的IOS设备要对图形处理可以用它来实现。canvas API内容挺多的，以下只是抽取部分属性和方法来阐述，抛砖引玉一下。
本文的主要内容是： canvas的简单图形处理，其中包括编码读写、像素级处理以及简单用法。这些操作都是在客户端处理的。
第一. 要进行图片处理，首先考虑的应该是编码的读写。
 
1. 来看一下canvas是怎样读取图片。

这里要留意了，有些同学开始玩canvas的时候死活读不进图片，原因在于：你得首先让图片加载进来，因为程序跑得比图片加载快。
这里有必要了解一下，canvas画布的概念，简单可以描述为： 用canvas.getContext（“2d”）方法来获取一个2d画布，画布有自身的方法。用这些方法就可以在画布上面乱涂拉！
其中drawImage是用来把图片“涂”进来的,它有3个函数原型

关于这三个方法，看了下面这个图就会明白：

其实看起来还是有点纠结，没关系，我们这里重点在于第一句，因为本来就是想着图片处理，那把canvas的宽度设成图片的宽高，然后把图片读进来放在canvas画布ctx的左上角就OK拉。说白了，就是读取图片的时候就是： 做一个跟图片看起来一模一样的canvas。
这样，很简单就把图片读进来了！Amazing！
2. canvas怎样输出编码？
当你用画布的方法乱涂乱画之后，用以下方法可以很简单输出图片编码：

这方法是canvas对象的，不是画布的。type可以在image/png，image/jpeg,image/svg+xml等 MIME类型中选择。如果是image/jpeg，可以有第二个参数，如果第二个参数的值在0-1之间，则表示JPEG的质量等级，否则使用浏览器内置默认质量等级。
以下以” image/png”为例，可以输出一段这样的字符串：
 
这是一段灰常灰常长的字符串！他叫Data URI。

注意.假如开始用drawImage“涂”进来的图片的src地址是跨域的（例如，网页放在a.com而图片的地址是b.com/c.jpg）,这样的话，这个toDataUrl方法会报错。 
那肿么办呢？蛋定，其实在需要处理这种图片时，先把它放到自己服务器转成同域就好了（可线下一起研究转换方法）。
这样，很简单就把图片输出来了！Unbelievable！
第二. 什么是canvas的像素级处理呢？
 
大家可以先看抽离出来的demo:


1. 图像的像素点是怎么存储的？

在进行图像处理前，得先了解一下图像是怎么存储每一个像素点的数据的。
看个图先：

玩css3的同学知道一个新的颜色定义方式&#8212;rgba,这里说的跟这个很像。
简单的像素点存储其实把每个像素点用四个数字来存储，分别是R（红）、G（绿）、B（蓝）、A（不透明度），然后这里的A值跟不透明度存在一个关系，60%=153/255，即不透明度=A值/255。
通过改变每个像素点的这四个维度，我们可以达到改变纯度，透明度，色相，亮度等所有效果，这是滤镜的基础原理，玩ps的盆友也许更熟悉这块。

2. Canvas怎么读写所有像素点数据？

a)     读取

画布的方法：getImageData可以获取指定范围内的像素点数据。参数x、y为起始位置，w、h为范围宽高。
该方法将返回形如以下的对象：

上图对应的是存储两个像素点数据的对象，对象中含有一个叫data的数组，其每四个键值对，存储一个像素点的数据，像素点从左到右排列。
b)     写入

画布的方法：putImageData可以把指定像素点数据对象（getImageData返回的对象），填充到指定位置，x、y为开始填充点。
第三. 用法？
了解上述原理和方法之后，只要遍历取出的像素点对象，再按指定的算法来改变每个像素点的数据，再把对象重绘到画布。

然后canvas对象来输出编码（第一点），就能达到滤镜效果了。

效果的好坏主要取决于算法的好坏。
需要提醒的是，canvas的像素级处理比较耗费资源，但是对于宽高不是太大的图片，速度还是可以接受的。
这里顺带介绍一下QST库里头关于这个滤镜效果插件的简单使用：
其中preloaded为预载效果数量（由于对于某个图片，效果被渲染后会自动缓存在js对象里头，而执行渲染时需要时间，所以需要预载部分效果）。其他更详细参数，有兴趣的同学可线下交流。
更多的文章2008-12-07 -- php中json_encode转数组为json字符串时的超奇怪问题。2008-08-09 -- (转)WordPress代码高亮插件WP-Syntax2010-01-30 -- js中方法类的拟静态属性、公有属性、私有属性2009-01-20 -- 我是一只“大头虾”！2009-12-01 -- js事件、事件处理研究，关键字：event、传播]]></description>
		<link>http://xiebiji.com/2011/06/canvas%e6%bb%a4%e9%95%9c%e9%a2%84%e7%a0%94/</link>
			</item>
	<item>
		<title>4月总结&#8212;一年一变</title>
		<description><![CDATA[渐渐地，觉得外面的世界很大很大很花很花，但是我却越来越是一个人。
4月是一个难忘的月份。
每年的这个时候，新来的同事特别的多。想一下上一年的自己，再对比现在的自己，感觉生活就像一个个轮回，一年一变，我看起来越来越傻，也许说越来越会装B了。
渐渐地觉得谈话没以前放得开，渐渐地感觉人没读书的时候聪明了。
工作是一个恶魔。吞噬了多少欢乐的思绪。当年三个同班同学来到这个大公司，如今只有我一个还在那里，一直觉得作为一个大公司的员工，心里很骄傲的，但是当周围的朋友一个个离去的时候，霎时间却觉得自己挺悲哀的。
一个会跟自己说心事的领导走了，一个大学年代一起努力为梦想奋斗的同学也走了，另一个最想他来公司的好朋友总无法进来。
有时候觉得自己真的挺无能的，但是却有着一种没办法解释的冲劲。
尽管不愁穿不愁吃，生活依然会烦恼。我总无法肆无忌惮地挥霍这昂贵的青春，这可恶的节假日，我越来越是没感觉了。就像我微博里头说的：

我清楚地知道这是生活缺了一种寄托了。
听人常说拥抱变化，但是那是有基础的，那需要一种精神上的挂念。
就好像读大学的时候，我们都知道要先找一份好工作，因为那是对家人的一种回报。
这算是一种追求。
而到工作后，人追求也许就变了，我们变得想独立门户，即使恋家，却又有一种想独立的思绪。
喜欢拥抱变化，也许只是因为你觉得这样会对另外一个人或者一群人更好而已，而往往不是只是在考虑自己个人，你为自己考虑的已经很多，多得你自己都觉得已经不耐烦了。
人最大的自私其实不是对自己的好，而是强加于别人的爱。这却是一种动力。
心无依归，何以成大器啊。
更多的文章2008-08-24 -- 无意中看了一下Q群，发现一张很有意思的图片！我汗！2008-10-29 -- 【PHP,JS】判断URL地址是否有效2009-02-12 -- 今天发现以前画的一只可爱的小猪【图片】2009-01-16 -- 前两天跟同学一起去电影院看了《赤壁下》，我差点笑死了2008-11-12 -- 囧一个，学校请来的IBM讲座]]></description>
		<link>http://xiebiji.com/2011/05/summary/</link>
			</item>
	<item>
		<title>3月总结&#8211;我们都是鱼</title>
		<description><![CDATA[今日复习了一下鲢鱼效应（注.不了解的同学可以google一下^_^）,周围工作的人中有很多就像沙丁鱼一样安于现状。你也没法要求他们如鲢鱼一样，因为每个人有不一样的追求以及负担。

3月份过去后，我发现好多跟我同期的毕业生都欣然从墙内跳到墙外，毕业生是一群不安分的群体，那为什么企业还是如此疯狂地招募毕业生？
应届的毕业生在IT界里头(应该还包括一些别的行业)很大程度充当了鲢鱼群这种角色，这群人最富有激情与冲劲，很容易给老员工带来一种危机感，从而提升了整体员工的积极性，这也是大企业为什么在校园招聘上加大力度的其中一个原因吧，毕竟新生的力量总让人觉得恐惧。
刚毕业的同学，弱弱地说一句，你们的激情是最有力的武器，未毕业就安于现状那是自断前程。
再联想到切身的方面，工作还不到一年的我，是该以什么形态来面对这种形式呢？
明确一点：起码我不是一条沙丁鱼，但是即使我是一条鲢鱼，我也会有退化成沙丁鱼的必经阶段。
一刹那的光辉不代表永恒，但这个“一刹那”是相对的，相对于那部分围观的人。
当你在发亮的时候，只要没有别的发光体在跟你作对比，别人看到的不是你有多亮，而是没人比你亮；而当群众的新宠出现时，欣然脱离这个群体，选择另一个群体，何乐而不为？
这跟“坚持”并不矛盾。
谁都想被重视，被重视而放弃那是脑缺钙，不被重视而坚持那是自虐。
当然，前提是，必需有选择的机会。
选择的机会就是所谓的差距，差距等于实力加机遇。机遇不可强求，实力是可以的，而实力的提升看起来更需要深谋远虑。
倘若正值疯狂，就让自己再疯狂一会，谁年轻的时候不曾爱上一个傻逼。
这只是在机遇来临前，为自己实力的提升做点贡献罢了。
然后，
成为一条靠青春吃饭的鲢鱼是悲剧的，从鲢鱼变成一条沙丁鱼老大才是最终目标，你们懂的。
更多的文章2009-01-23 -- 一个可伸缩渐变圆角带边框铺阴影的table,兼容浏览器、自适应宽高的一段HTML+CSS代码。2009-02-12 -- 今天发现以前画的一只可爱的小猪【图片】2010-11-13 -- 10月总结2008-11-14 -- 【mootools中文实例诠释】Tips类的使用2009-02-25 -- [转载]推荐3个网页设计在线配色网站]]></description>
		<link>http://xiebiji.com/2011/04/march-fish/</link>
			</item>
	<item>
		<title>事件DOMContentLoaded与load的区别</title>
		<description><![CDATA[先看这两句代码：
window.addEventListener(&#8216;load&#8217;, loaded, false);
document.addEventListener(&#8216;DOMContentLoaded&#8217;, loaded, false);
问题回顾：
这问题可把我郁闷死了，网上找的一个demo里头，他把样式直接用style内联（这种引进方式是dom方式）进来，然后用DOMContentLoaded来处理js，本来是没问题的。
但是当你把内联的样式写在一个外联的样式文件里头然后再进来的时候，问题就出现了。
什么原因？
DOMContentLoaded在外联样式加载前（dom加载完后）就触发了，外联的样式还没来得及渲染dom，这样导致DOMContentLoaded捕获的状态是外联样式渲染前的状态。
改变窗口大小可以重新触发样式的渲染，所以会形成一个假象：
页面进来的时候某个被样式定义过高度的元素的offsetHeight在你改变一下窗口（或者别的可以引起reflow的操作）时，js获取的这个offsetHeight居然不一样的，而在我们看来页面进来时跟窗口改变后，元素本身就没发生高度变化。
总结：
load事件是在页面所有元素都加载完后触发；
DOMContentLoaded，它是指dom tree加载完就触发。这个事件要小心使用，当然它是个强大的事件，起码用上它在某一层面上防止了页面加载被堵塞。
更多的文章2011-06-17 -- Canvas滤镜预研2010-11-13 -- 10月总结2008-12-10 -- wp函数query_posts(),日志过滤器,显示特定分类下的特定日志或页面2008-11-20 -- 英文课上学习的广告原则2010-02-18 -- 过年我也会看书的]]></description>
		<link>http://xiebiji.com/2011/03/load/</link>
			</item>
	<item>
		<title>2011年第一篇总结[1、2月]</title>
		<description><![CDATA[年末年初事情总是有点繁琐，连写文章的时间都懒得抽出来。
工作方面：
这两个月没发生什么特殊事件，唯一值得记录的是年末那次《速度优化会议》。
这是一次重量级人物的交流会议，我有幸完成了组内的一个优化项目，于是有一次演讲的机会，通过这次会议，我学到了几点东西：

气场很重要。全场演讲者我level最低，要压倒别人得先压到自己，先行者无惧，世界上最无敌的人不是有权有势的人，而是行将就木的人。当然这说法有点夸张，我要表达的只是：每个人都需要把每一天当做生命的最后一天，这样人自然就会有勇气以及规划。
PPT需简洁、话语一步到位、铺垫不可太多。演讲的时候我应该先把主要观点亮出来，恰到好处即可收手。心理学上的“超限效应”值得关注。
要用数据说服别人。其实这个很多人都知道，但是不知道在哪找数据，以及分析数据，这估计也是我要努力的一个方向。
真正牛X的人不在于有多强的技术，只在于能创造多少价值，思路很重要，相关业务扩展度需要增强。
个人影响力需要提高，技术分享需要更多。

生活方面：
抛弃我的人，我不能令其成为最幸福的人，就令其成为带点后悔的人，活好自己，让时间抹掉本不该有的情绪。
更多的文章2009-07-09 -- 终于考完试了！2008-08-23 -- 一个下午画的新LOGO！！总共两个！2010-07-16 -- 最近忙，一直没更新，放点居家照片吧。2010-10-14 -- 最近几个关于js的笔记2009-04-16 -- 你还可以这样配色&#8211;配色，看美女，色狼的深入关系]]></description>
		<link>http://xiebiji.com/2011/02/1_2_summary/</link>
			</item>
	<item>
		<title>js中html字符串格式化函数</title>
		<description><![CDATA[
function style_html&#40;html_source, indent_size, indent_character, max_char&#41; &#123;
//Wrapper function to invoke all the necessary constructors and deal with the output.
&#160;
  var Parser, multi_parser;
&#160;
  function Parser&#40;&#41; &#123;
&#160;
    this.pos = 0; //Parser position
    this.token = '';
    this.current_mode = 'CONTENT'; //reflects the current Parser mode: TAG/CONTENT
    [...]]]></description>
		<link>http://xiebiji.com/2011/02/js%e4%b8%adhtml%e5%ad%97%e7%ac%a6%e4%b8%b2%e6%a0%bc%e5%bc%8f%e5%8c%96%e5%87%bd%e6%95%b0/</link>
			</item>
	<item>
		<title>css3可定义大小的矩形遮罩</title>
		<description><![CDATA[css3的mask属性很有趣，以下可自定义一个特定大小的矩形遮罩。

div&#123;
    -webkit-mask-position: 181px 265px;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 96px 101px;
    -webkit-mask-image: url&#40;about:blank&#41;;
&#125;

与本文相关的日志2010-06-21 -- 另类运用,css3临摹苹果mac系统界面2010-01-10 -- [自制]Wordpress 2.9 White-Html5 Theme 1.0主题（双）上线]]></description>
		<link>http://xiebiji.com/2011/02/css3%e5%8f%af%e5%ae%9a%e4%b9%89%e5%a4%a7%e5%b0%8f%e7%9a%84%e7%9f%a9%e5%bd%a2%e9%81%ae%e7%bd%a9/</link>
			</item>
	<item>
		<title>textarea获取选中字符位置</title>
		<description><![CDATA[这东西一定要记下来：

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
//取得选中文本的开始和结束位置，el为textarea dom元素
function posCursor&#40;el&#41;&#123;
	var isIE = !&#40;!document.all&#41;; 
	var start=0,end=0;    
	var oTextarea = el   
	if&#40;isIE&#41;&#123;   
		//selection 当前激活选中区，即高亮文本块，和/或文当中用户可执行某些操作的其它元素。   
		//createRange 从当前文本选中区中创建 TextRange 对象，   
		//或从控件选中区中创建 controlRange 集合。   
		var sTextRange= document.selection.createRange&#40;&#41;;   
&#160;
		//判断选中的是不是textarea对象   
		if&#40;sTextRange.parentElement&#40;&#41;== oTextarea&#41;&#123;   
			//创建一个TextRange对象   
			var oTextRange = document.body.createTextRange&#40;&#41;;  [...]]]></description>
		<link>http://xiebiji.com/2011/01/textarea_se/</link>
			</item>
</channel>
</rss>

