有人使用过这两个node.js库中的一个或两个吗?好奇地想听到每一个人的成功或困难。
发布于 2011-05-18 04:51:34
LearnBoost是社区中最多产的节点模块开发人员之一,因此我选择了node-canvas而不是node-o3-canvas。
我使用node-canvas在服务器上将图像切片为平铺,然后将它们发送回客户端。一切都和你期望的一样。下面是您可能会编写的代码示例:
helper = function(x, y, canvas) {
return function(err, str) {
if (!tiles[x]) {
tiles[x] = [];
}
tiles[x][y] = {
data: str
, buffer: canvas.toBuffer()
, covered: true
};
};
};
for (y = 0; y < tilesPerColumn; y += 1) {
for (x = 0; x < tilesPerRow; x += 1) {
//Create a new tile canvas each time so they don't run over each other
tCanvas = new Canvas(chunkSize, chunkSize);
tCtx = tCanvas.getContext('2d');
xOffSet = chunkSize * x;
yOffSet = chunkSize * y;
//Save a set of uncovered tiles to store in memory
tCtx.drawImage(img, xOffSet, yOffSet, chunkSize, chunkSize, 0, 0, chunkSize, chunkSize);
tCanvas.toDataURL(helper(x, y, tCanvas));
}
}我唯一的问题是:
如果您正在使用node-canvas中的异步方法,则需要小心分配新的canvas/context实例,以免中断可能被writing/drawing.
https://stackoverflow.com/questions/5847460
复制相似问题