2014-03-26 52 views
0

我是新來的畫布,但我一直在玩fillRect()來填充某個顏色的像素。到目前爲止,這樣做效果很好,但是有時候整個畫布模糊不清,而且一個堅實的像素開始變成反鋸齒。這通常是由調整窗口大小造成的。在JS畫布上手動調整像素顏色

有沒有辦法手動指定一個像素的某種顏色?

+0

不知何故,我的大腦讀取「調整大小」爲「縮放」。仍然需要我的早晨咖啡。 –

+0

你可以發佈一個例子行爲不端小提琴嗎? – markE

回答

1

有沒有辦法手動指定一個像素的某種顏色?

下面顯示的直接訪問的像素在一個畫布

假定畫布和它的上下文已經分配

和像素顏色已經被分配,例如另一種方法

p=new Pixel(35,56,78,0) 

setPixel(5,10,p); 




function Pixel(r,g,b,a) { 
     this.red=r; 
     this.green=g; 
     this.blue=b; 
     this.alpha=a; 
    } 

function getPixel(x,y) { 
     var imdata=context.getImageData(0,0,canvas.width,canvas.height); 
     var column=4*(y*canvas.width+x); 
     var pix=new Pixel(); 
     pix.red=imdata.data[column++]; 
     pix.green=imdata.data[column++]; 
     pix.blue=imdata.data[column++]; 
     pix.alpha=imdata.data[column]; 
     return pix; 
    } 

function setPixel(x,y,pix) { 
      var imdata=context.getImageData(0,0,canvas.width,canvas.height); 
      var column=4*(y*canvas.width+x); 
      imdata.data[column++]=pix.red; 
      imdata.data[column++]=pix.green; 
      imdata.data[column++]=pix.blue; 
      imdata.data[column]=pix.alpha; 
      context.putImageData(imdata,0,0); 
}