HTML5中增加的Canvas元素,配合JS灵活的语法,处理起图片变得异常简单,不需要在客户端用C/C++写一大堆代码,对于熟悉JS的程序员来说,只需要考虑处理图片的逻辑了。
canvas中如果想要处理图片就需要借助ImageData这个对象,就是将画布中某一区域中的图像以RGBA的方式保存下来,存成一个二维数组。
写了个简单的处理图像的类,可以翻转/灰化/去色/高亮/设单色值
通过一系列操作,渲染好图像后,就需要借助如下的代码将画布中的图像保存成图片
save.aspx中的代码如下:
PS: 由于沙箱的限制,想在浏览器端通过JS直接存为本地图片,似乎是不大可能,现在网上较为折中的方式为
window.location.href = "image/octet-stream" + data
但这种方式不能指定保存的文件名,在FF下默认是xxxxx.part
参照 : http://www.nihilogic.dk/labs/canvas2image/