首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node-o3-canvas与node-canvas?

node-o3-canvas与node-canvas?
EN

Stack Overflow用户
提问于 2011-05-01 16:54:18
回答 1查看 1.5K关注 0票数 1

有人使用过这两个node.js库中的一个或两个吗?好奇地想听到每一个人的成功或困难。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-18 04:51:34

LearnBoost是社区中最多产的节点模块开发人员之一,因此我选择了node-canvas而不是node-o3-canvas。

我使用node-canvas在服务器上将图像切片为平铺,然后将它们发送回客户端。一切都和你期望的一样。下面是您可能会编写的代码示例:

代码语言:javascript
复制
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.

  • For的实例。由于某些原因,当使用服务器端的base64编码图像时,我无法使node-canvas的()对象正常工作。我的问题是,当src属性被分配一个base64字符串时,onLoad事件不会触发。我没有花太多时间来解决这个问题,而是将图像写到临时文件中来解决这个问题。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5847460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档