Преобразование необработанных данных изображения в javascript

Я получаю необработанные данные изображения с сервера, как мне лучше всего нарисовать их на холсте и как мне это сделать? Пожалуйста, дайте представление, так как я очень новичок в html и javascript. Все, что я хочу знать, это как преобразовать необработанные данные и нарисовать их на холсте в html и javascript, если я знаю ширину и высоту необработанного изображения. В основном я не знаю формат необработанного изображения, который мне нужно сделать некоторое преобразование.


person user3365783    schedule 17.05.2014    source источник
comment
Вы просматривали эту страницу?   -  person LarsBauer    schedule 17.05.2014


Ответы (1)


Вы можете использовать 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);
person markE    schedule 17.05.2014
comment
как сначала извлечь значения RGBA из необработанного изображения? - person user3365783; 18.05.2014
comment
Ваш вопрос подразумевал, что вы уже конвертировали из RAW в читаемый формат. Необработанные файлы не читаются напрямую как RGB без преобразования. Используйте конвертер необработанных данных (который существует во многих приложениях для обработки изображений), чтобы прочитать необработанные файлы, применить настройки и вывести результат либо в стандартный формат изображения (.png, .jpg и т. д.), либо получить значения RGB. Кроме того, вы можете проверить, поддерживает ли imageMagick преобразование вашего конкретного файла RAW: imagemagick.org/script/ форматы.php - person markE; 18.05.2014
comment
Мне жаль, что это просто изображение RAW, поэтому отредактировал вопрос соответствующим образом. - person user3365783; 18.05.2014
comment
Вы проверили imagemagick — он конвертирует некоторые из наиболее распространенных необработанных файлов? - person markE; 18.05.2014