js中怎么拿到canvas画板里面的二进制数组,谁会请讲解一下,谢谢
二进制数组就是在这种背景下诞生的。它很像C语言的数组,允许开发者以数组下标的形式,直接操作内存,大大增强了JavaScript处理二进制数据的能力,使得开发者有可能通
它很像C语言的数组,允许开发者以数组下标的形式,直接操作内存,大大增强了JavaScript处理二进制数据的能力,使得开发者有可能通
可以获取canvas里面像素点的数组,不太明白你说的二进制数组是什么
var oReq = new XMLHttpRequest();
oReq.open("GET", "http:/xxx.xxx.xxx.xxx/aaa.jpg", true);
oReq.responseType = "blob";
oReq.onreadystatechange = function () {
if (oReq.readyState == oReq.DONE) {
var blob = oReq.response;
var image = new Image();
image.addEventListener("load", function (evt) {
URL.revokeObjectURL(evt.target.src);
document.body.appendChild(image);
});
image.src = URL.createObjectURL(blob);
}
}
oReq.send();
通过属性赋值然后获取属性再得到
canvas里面像素点的数组吗?
var draw=function(ctx,x,y,size){
this.ctx=ctx;
this.x=x;
this.y=y;
this.size=size;
var y1=this.y;
this.drawText=function(){
var str=Math.ceil(Math.random()*10000).toString(2);
var grd=this.ctx.createLinearGradient(this.x,this.y,this.x,this.y-this.ctx.measureText(str).width);
grd.addColorStop(0,"#00FF00");
grd.addColorStop(1,"#004400");
this.ctx.fillStyle=grd;
this.ctx.font=this.size+"px Arial";
for(var i=str.length-1;i>=0;i--) {
this.ctx.fillText(str.charAt(i), this.x, y1-=15);
}
y1=this.y+=10;
if(y1-720+this.ctx.measureText(str).width>0){
this.x=Math.ceil(Math.random()*1000);
y1=this.y=Math.ceil(Math.random()*100);
}
}
};
var rain=function(ctx,length){
this.length=length;
this.ctx=ctx;
var x=[];
var y=[];
var size=[];
var texts=[];
var i=0;
for(;i<length;i++){
x[i]=Math.ceil(Math.random()*1000);
y[i]=Math.ceil(Math.random()*500);
size[i]=Math.ceil(Math.random()*15);
texts[i]=new draw(this.ctx,x[i],y[i],size[i]);
}
this.run=function(){
ctx.clearRect(0,0,1000,600);
for(var j=0;j<length;j++){
texts[j].drawText();
}
};
};
var canvas=document.getElementById("myCanvas");
var ctx=canvas.getContext("2d");
var rain0=new rain(ctx,100);// 100控制密度
setInterval(rain0.run,50);
使用toDataUrl方法可以取出canvas中的像素点数组