Привет, сообщество Stackoverflow,
Я разработчик внешнего интерфейса на Mac и пытаюсь применить манипуляции с изображениями к набору изображений.Я использовал ImageMagick в прошлом и был очень доволен результатами.Ниже вы найдете информацию о прогрессе:
function makeResponsiveImages () {
SRC=$1
DEST=$2
RESIZE=$3
rm -r $DEST
mkdir -p $DEST
cp -R $SRC $DEST
cd $DEST
find . -name '*.jpg' -exec mogrify -resize 50% -set filename:name %f -write '%[filename:name]_resized.jpg' {} +
}
makeResponsiveImages "src/images/" "dist/images" "50%"
Пока что этот скрипт позволяет мне удалять существующие "/ dist / images", создавать "/ dist / images", копировать элементы из "/ src / imamges"в "/ dist / images".Тогда лучшая часть, это сгенерирует изображение, которое будет на 50% меньше и добавит нужный суффикс перед расширением файла.Я очень доволен, но он не применяет манипуляции с изображениями в подпапках.
Ранее у меня было следующее, которое изменяет размер каталога и его подпапок, но я не мог получить функцию переименования.
найти.-name '* .jpg' -exec mogrify -trim -resize $ RESIZE {} +
Я также хотел бы напечатать ход выполнения сценария, но не знал, куда его поместить безиспользуя «for in», «do» и «done».Наконец, в идеальном мире, если бы я мог создать изображение с доминирующим цветом.
Кроме того, я только что обнаружил, что могу сделать следующее с NodeJS и GM:
var gm = require('gm');
gm('src/images/2c4d6574026241.5c1dfacde8579.jpg')
.resize(250, 250)
.colors(1)
.write('dist/images/2c4d6574026241.5c1dfacde8579-resized.jpg', function (err) {
if (!err) console.log('done');
});
Однако,снова я пытаюсь найти правильный способ зацикливаться .. Вероятно, с помощью фс?В любом случае, любая помощь с тем, что я предоставил выше, очень ценится.Спасибо!