Я использую графическую магическую оболочку в nodejs и создаю квадратные миниатюры, используя следующий код:
var size = {width: 200, height: 200};
gm(sourcePath)
.resize(size.width * 2, (size.height * 2) + '')
.thumbnail(size.width, size.height + '^')
.gravity('center')
.extent(size.width, size.height)
.profile('*')
.write(outputPath, function (error) {
if (error) console.log('Error - ', error);
});
Это работает хорошо, пока размер моего эскиза не станет больше, чем входное изображение. В этом случае я хотел бы, чтобы миниатюра была предписанного размера, но чтобы изображение было помещено в центр, а не изменено.
Есть ли способ сделать это с помощью группы команд или мне нужно написать какую-то отдельную логику, чтобы определить это?