我试图在PHP GD函数imagecopyresampled
的NodeJS中找到一个等价的,但没有成功。
这不是简单地调整图像大小,而是获取图像的一部分然后将其放入另一个图像。
我找到了这个库:
但他们没有相应的东西。它与函数imagecreatetruecolor
完全相同,它们只是简单地调整大小/裁剪图像而不选择具有偏移和指定宽度/高度选择的图像部分。
有没有人知道NodeJS的等价物?
答案 0 :(得分:2)
好的,我找到了响应,我使用了node-gd。在之前的搜索中,我找到了一个过时的节点gd库。
这是正确的库:https://github.com/mikesmullin/node-gd
要创建空的行李,请使用此功能:createTrueColor(width, height)
要重新取样或剪切图像,请使用:copyResampled()
这类似于PHP函数,具有相同的参数。维基可在此处获取: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);
}
});