我们通过给每个像素点的红,绿,蓝和alpha赋值为255,0,0,255,得到一块不透明的红色矩形,并把这块区域的数据放到指定的位置,效果如Demo所示,正如开始所说的那样,globalAlpha,globalCompositeOperation,还有shadow属性在调用putImageData时会被忽略,因此不管你给的alpha值是否是透明的,指定的区域的数据是被覆盖了,而不是层叠的,即使你设置了透明也无法看到覆盖前的图像。
写在后面
其实,这部分的函数使用起来并不会难,难的是对图像操作的效率问题的优化,这次的内容只是简单的介绍函数的用法,如果你有足够的图形学的理论知识,你可以用已学的这些知识对图像进行灰度变换、线性和非线性空间滤波、频率域滤波、图像恢复与配准、彩色图像处理、小波、图像数据压缩、形态学图像处理、图像分割、区域和边界表示与描述,以及目标识别等操纵。本人所学知识有限,在这里只起抛砖引玉的作用,希望本文对入门的朋友有帮助。
结合这篇笔记和上一篇,我做了一个还不完善的demo:简易的图像编辑器