RGB数组可在Node.js中缓冲图像 [英] RGB array to buffer image in Node.js
本文介绍了RGB数组可在Node.js中缓冲图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个由RGB对象(像素颜色)组成的数组.示例:
I have an array consists of the RGB objects (pixel color). Example:
[
{r: 40, g: 143, b: 54},
{r: 86, g: 193, b: 87},
...
]
我有图像分辨率.示例:
And I have image resolution. Example:
{
width: 400,
height: 300
}
如何将此数组转换为Node.js中的Buffer以在浏览器中显示?
How to convert this array to the Buffer in Node.js to display in a browser?
推荐答案
-
将RGB对象数组转换为字节数组.
Convert array of RGB objects to array of bytes.
function RGBtoArr(rgb)
{
return [rgb.r, rgb.g, rgb.b];
}
function flattenArray(arr)
{
return [].concat.apply([], arr);
}
var buf = new Buffer(flattenArray(arr.map(RGBtoArr)))
将结果字节编码为浏览器支持的图像格式.
Encode resulting bytes to a browser-supported image format.
var png = new Png(buf, width, height);
png.encode();
- 将base64中的图像嵌入HTML.
- 另存为png在光盘上并获取要使用的URL.
- 作为动态响应发送到某个URL上的HTTP请求.
这篇关于RGB数组可在Node.js中缓冲图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文