gpt4 book ai didi

node.js - 如何使用 toBuffer 使用 [node] graphicsmagick 创建新图像

转载 作者:搜寻专家 更新时间:2023-10-31 23:42:20 25 4
gpt4 key购买 nike

我正在尝试创建一个新图像,该图像最终将通过 gridfs 插入到 mongo 数据库中。我宁愿避免向文件系统写入任何内容,所以最好的路线似乎是 create a new image ,将结果写入缓冲区,然后将缓冲区插入数据库。不幸的是,toBuffer method不适用于新图像:

var gm = require( 'gm' );
gm(200, 200, '#000F')
.setFormat('png')
.fill('black')
.drawCircle( 50, 50, 60, 60 )
.toBuffer( 'PNG', function( error, buffer )
{
if( error ) { console.log( error ); return; }
console.log( 'success: ' + buffer.length );
}
);

...产生以下错误:

[Error: Stream yields empty buffer]

最佳答案

看起来 gm 只是不喜欢您提供给 toBuffer'PNG' 参数。我认为它也没有必要,因为您之前已经将格式指定为 png 。尝试简单地删除它:

var gm = require( 'gm' );
gm(200, 200, '#000F')
.setFormat('png')
.fill('black')
.drawCircle( 50, 50, 60, 60 )
.toBuffer(function( error, buffer )
{
if( error ) { console.log( error ); return; }
console.log( 'success: ' + buffer.length );
}
);

关于node.js - 如何使用 toBuffer 使用 [node] graphicsmagick 创建新图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30361361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com