2013-12-04 4 views
1

Здравствуйте, я хочу сделать миниатюры без масштабирования. Я использую этот код:Миниатюры в node-gm graphicsmagick без масштабирования

gm(__dirname + '/images/Lighthouse.jpg') 
.noProfile() 
.gravity('Center') 
.thumb('1920', '1280>', __dirname + '/images/thumb.jpg', 90, function (err){ 
    if (err) { console.log(err); } 
}); 

Но он все еще высококлассный результат изображения. Стараюсь другой путь:

gm(__dirname + '/images/Lighthouse.jpg') 
.noProfile() 
.gravity('Center') 
.resize('1920', '1280' + ">") 
.quality(90) 
.crop('1920', '1280') 
.write(__dirname + '/images/resize.jpg', function (err) { 
    if (err) { console.log(err); } 
}); 

Это действительно предотвратить upsculing, но я не могу пройти еще один вариант - «^» в изменении размера, потому что без него я получаю неправильный результат эскиза. Вы можете сравнить его:

gm(__dirname + '/images/Lighthouse.jpg') 
.noProfile() 
.gravity('Center') 
.thumb('320', '480', __dirname + '/images/thumb.jpg', 90, function (err){ 
    if (err) { console.log(err); } 
}); 

gm(__dirname + '/images/Lighthouse.jpg') 
.noProfile() 
.gravity('Center') 
.resize('320', '480' + "^") 
.quality(90) 
.crop('320', '480') 
.write(__dirname + '/images/resize.jpg', function (err) { 
    if (err) { console.log(err); } 
}); 

Этот код возвращает аналогичный результат, но высококлассное изображение. Есть ли способ предоставить опции «^>» вместе? Благодарю.

P.S. Похоже, что метод thumbinal немного размыт, чем изменение размера/обрезка.

+1

Вы пробовали "^>" вместе? И iirc '.resize()' принимает три аргумента, где последний является параметрами «^>» и т. Д. –

+1

Я могу поклясться, что пытался этот метод. Но теперь я снова попытался, и он работает. Спасибо - сделайте комментарий как ответ, я проверю вас правильно. – Oleg2tor

ответ

2

Следующая следует сделать трюк:

gm(__dirname + '/images/Lighthouse.jpg') 
    //... 
    .resize('320', '480', "^>") 
    // ... 
Смежные вопросы