gistfile1.txt Canvas中的imageData()是一个针对像素直接操作的对象函数,它的属性丰富,使用灵活,容易上手。首先,先了解imageData(): 1.语法结构:imageData(float width, float height) imageData(object i
Canvas中的imageData()是一个针对像素直接操作的对象函数,它的属性丰富,使用灵活,容易上手。 首先,先了解imageData(): 1.语法结构:imageData(float width, float height) imageData(object imageData) imageData(object parameters) 2.使用方法:(直接贴代码) //上述代码中出现的imageData()和getData()以及putData(),我们可以分别做出如下解释: imageData(width,height):相当于截取一片区域,备用; getData(x,y,width,height):相当于复制已截取的去区域中的某块子区域,备用; putData(x,y):将getData()获取的区域放置在putData()所规定的位置(x,y)。 3.getPixel()和setPixel(): getPixel(x,y):获取某一位置的像素值,备用; setPixel(x,y,color):设置某一像素的位置和颜色。 //实例解释setPixel(): function setPixel(){ jc.start("canvas"); var imgData=jc.imageData(190,190); for(var i=0;i<90;i++){ for(var j=0;j<90;j++) { r+=i; g+=i; b+=i+j; imgData.setPixel(i,i+j,'#'+r+','+g+','+b); } } imgData.putData(300,300); jc.start("canvas"); } //getPixel(x,y,color): 其返回值是一个数组,再具体一点说的话,那就是一个颜色值的数组: 数组——color——color[0]=red; color[1]=green; color[2]=blue; color[3]=alpha;//透明度 4.filter(): 语法结构:filter(filterName,type) //其中filterName与type对应有三种方式: 1.filterName:color————type:red,green,blue 2.filterName:linear————type:sharp,blur 3.自定义的addImageDataFilter函数 //实例解释:(filter() 可针对图片或在canvas画布上的任意一部分) function filter(){ var img=new Image(); img.src="imgs/logo.png"; img.onload=function(){ jc.start("canvas"); jc.image(img,150,150,120,40); jc.start("canvas"); jc.imageData(100,100) .getData(150,150,120,40) .filter('linear','sharp') .putData(50,300); jc.start("canvas"); }