В collectionfs у меня есть следующий метод для изменения размера больших изображений до ширины 1200 пикселей, а высота остается пропорциональной, чтобы уменьшить размер файла.
var createPic = function(fileObj, readStream, writeStream) {
gm(readStream, fileObj.name()).resize(1200).quality(100).autoOrient().stream().pipe(writeStream);
}
Изображения размером, скажем, 2000x2000, фактически загружаются размером 1200x1200, но больше по размеру файла. Можете ли вы объяснить, почему? И как я могу изменить метод, чтобы изменить размер изображения только в том случае, если ширина превышает, например, 2000 пикселей?
resize("1200x1200>")
там. - person Mark Setchell   schedule 15.11.2015resize('1200','1200>')
- person Mark Setchell   schedule 15.11.2015>
, прикрепленный к концу высоты, чтобы означать, что он должен изменять размер только изображений, превышающих заданное число, и<
, чтобы означать, что он должен увеличивать только меньшие, и!
, чтобы игнорировать соотношение сторон. Эти дополнительные флаги могут быть приняты в качестве третьего параметра в одинарных кавычках. Я не знаю - я предполагаю. - person Mark Setchell   schedule 15.11.2015quality
или, что более вероятно, уменьшить количество цветов до 31, 63 или 254... ПОСЛЕ изменения размера. - person Mark Setchell   schedule 15.11.2015