我有一张32*32大小的图片,并且有每个像素颜色的数组。这个颜色是由红色、绿色和蓝色组合而成的。我想在JavaScript中使用这个数组来绘制图像。如何使用这些信息来绘制图像?
我有一张32*32大小的图片,并且有每个像素颜色的数组。这个颜色是由红色、绿色和蓝色组合而成的。我想在JavaScript中使用这个数组来绘制图像。如何使用这些信息来绘制图像?
var drawingCanvas = document.getElementById('myDrawing');
if(!drawingCanvas.getContext)
{
return;
}
var context = drawingCanvas.getContext('2d');
var pixSize = 1;
for (var i=0; i < rows.length; i++)
{
var col = rows[i];
for (var j=0; j < col.length; j++)
{
context.fillStyle = col[j]; // assumes the data is in #hex format already.
context.fillRect(j*pixSize,i*pixSize,pixSize,pixSize);
}
}
这假定你的像素颜色都是十六进制格式。如果不是,那么你需要以某种方式进行转换:
var imgData = [ /* your array of pixel colors */ ],
img = document.createElement('div'),
i = 0, l = imgData.length,
pixel;
img.style.cssText = 'overflow:hidden; width:32px; height:32px';
while (i < l) {
pixel = document.createElement('div');
pixel.style.cssText =
'float:left; width:1px; height:1px; background-color:#' + imgData[i];
img.appendChild(pixel);
i += 1;
}
document.body.appendChild(img);