我可以使用node-gm调整内存中的图像大小,还是需要先将其保存起来?
我允许用户上传头像,但是我想在上传时调整头像的大小。 现在看起来,gm让我把它保存到磁盘之前,它resize。 当传入的请求进来时是否有可能调整它的大小?
像这样的东西:
var readStream = fs.createReadStream(req.files['profile-picture']['path']); gm(req.files['profile-picture']['path'], 'img.jpg') .write('/path/to/directory/img.jpg', function (err) { if (!err) console.log('done'); });
你可以通过gmpipe道stream,而不需要将文件保存到光盘! 你甚至可以一个接一个地执行几个操作,因为gm函数是可链接的(在我的例子中,我调整了图像的大小,后缀从中间裁剪(因此重力函数)
gm(req.files['profile-picture']['path'], 'img.jpg') .resize("100^", "100^") .gravity('Center') .crop(100, 100) .stream(function (err, stdout, stderr) { // do whatever you want with your output stream (stdout) here });
- Nodejs GM模块ImageMagick – 奇怪的错误
- GIMP对GraphicsMagick(Cartoon,Enhance Despeckle)的等效效果
- 将graphics魔术输出的图像转换为无base64编码的响应
- 合并两个gm对象,同时在graphicsJagick中为NodeJS调整其中的一个
- ()GraphicsMagic中如何将图像缓冲区数据传递给gm
- 使用单个图像读取/stream的多个大小调整
- 在Nodejs中用Graphicsmagick调整图像大小会生成emty文件
- 如何使用Node.js gm graphicsMagick包装获取像素
- 使用GraphicsMagick / gm在添加的图像之间添加边距