Мне нужно изменить размер изображения до фиксированного размера в Node.js через ImageMagick. Пример: изображения 200x140, 500x200 и 130x100, преобразованные в 100x50. Изображение должно быть растянуто или сжато без соотношения сторон и заполнить все пространство. Я делаю это так:Изменение размера изображения без соотношения сторон в Node.js
var im = require('imagemagick');
var resize_options = {
srcPath: path,
dstPath: path,
width: 100,
height: 50
};
im.resize(resize_options, function (err) {
if (err) {
console.log(err);
res.end('Error!');
}
else {
res.end('Success!');
}
});
Но изображение converten лишь высотой, например - 1440x900 преобразуется в 80x50 вместо 100х50. Что я делаю не так?
Посмотрите, есть ли метод «replaceExact», который принимает только параметры выходного размера, или если вы можете пропустить восклицательный знак среди опций. Прочитайте документацию для ['gm'] (https://github.com/aheckmann/gm) в github - она точно описывает эту проблему. Отмечая, что модуль 'imagemagick' заброшен в пользу' gm'. Если это решает проблему, отправьте ответ, описывающий, как это сделать. – traktor53