在NodeJS中使用GD库来复制和重新采样图像

我尝试,不成功,在PHP GDfunctionimagecopyresampled NodeJSfind一个等效。

这不是简单地调整图像的大小,而是获取图像的一部分,然后将其放入另一个图像。

我find这个库:

  • 帆布
  • ImageMagick的
  • easyimage
  • 节点-GD

但他们没有相同的东西。 这与函数imagecreatetruecolor是一样的,他们只是简单地resize/裁剪图像,而不select偏移量和指定的宽度/高度select图像的一部分。

有没有人知道NodeJS的等价物?

好的,我find了答案,我使用node-gd。 在之前的search中,我发现一个过时的节点gd库。

这是正确的库: https : //github.com/mikesmullin/node-gd

并创build空的东西,使用这个函数: createTrueColor(width, height)要重新采样或剪切图像,使用此: copyResampled()

这与PHP函数类似,具有相同的参数。 这个wiki可以在这里find: https : //github.com/taggon/node-gd/wiki

和基本的例子:

 var fs = require('fs'); var path = require('path'); var gd = require('gd'); var source = './test.png'; var target = './test.thumb.png'; if (path.exists(target)) fs.unlink(target); gd.openPng( source, function(png, path) { if(png) { var w = Math.floor(png.width/2), h = Math.floor(png.height/2); var target_png = gd.createTrueColor(w, h); png.copyResampled(target_png,0,0,0,0,w,h,png.width,png.height); target_png.savePng(target, 1, gd.noop); } });