javascript中的原始图像数据转换

时间:2014-05-17 16:55:42

标签: javascript html5 image html5-canvas

我从服务器获取原始图像数据,在画布上绘制它的最佳选择是什么?我该怎么做?请提供一个见解,因为我对html和javascript非常新。所有我想知道的是如何转换原始数据并在画布上用html和javascript绘制它,如果我知道原始图像的宽度和高度。基本上我不知道我需要做的原始图像的格式一些转换。

1 个答案:

答案 0 :(得分:0)

您可以使用context.createImageData创建一个imageData对象,您可以使用服务器中的RGBA数据填充该对象:

示例代码和演示:http://jsfiddle.net/m1erickson/XTATB/

// test data fill a 30x20 canvas with red pixels

// test width/height is 30x20
var canvasWidth=30;
var canvasHeight=20;

// resize the canvas 
canvas.width=canvasWidth;
canvas.height=canvasHeight;

// create some test data (you can use server data in production)
var d=[];
for(var i=0;i<canvasWidth*canvasHeight;i++){
    // red & alpha=255 green & blue = 0
    d.push(255,0,0,255);
}

// create a new imageData object with the specified dimensions
var imgData=ctx.createImageData(canvasWidth,canvasHeight);

// get the data property of the imageData object
// this is an array that will be filled with the test data
var data=imgData.data;

// copy the test data (d) into the imageData.data (data)
for(var i=0;i<data.length;i++){
    data[i]=d[i];
}

// push the modified imageData object back to the canvas
ctx.putImageData(imgData,0,0);