|
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 29
|
|
Node.js, модуль imagemagick и пакетная обработка11.06.2019, 20:38. Показов 2926. Ответов 8
Метки imagemagick (Все метки)
Всем привет! Такая ситуация: нужно обработать фотки определённым образом, а именно:
В директории лежат 100 фотографий в формате jpg Нода должна взять первую, сжать её до xxx пикселей по ширине, сохранить как name-xxx.jpg, дальше сконвертировать её в webp и сохранить как name-xxx.webp Дальше с этой же фотографией нода должна сжать до yyy пикселей по ширине и проделать тоже самое сохранение и конвертацию Потом с этой же фотографией сжимаем до zzz пикселей и тоже аналогично сохраняем и конвертируем. А потом следующую фотку также. Вообще реально, как думаете? сайт https://www.imagemagick.org/ не открывается и где чего почитать - я не нашёл...
0
|
|
| 11.06.2019, 20:38 | |
|
Ответы с готовыми решениями:
8
Пакетная обработка Пакетная обработка треков |
|
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
|
|
| 11.06.2019, 22:31 | |
|
ragug, можете попробовать использовать модуль sharp (sharp GitHub): реализация на чистом JS, лично использую у себя на сервере для сжатия фотографий от пользователей.
0
|
|
|
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 29
|
|
| 11.06.2019, 22:36 [ТС] | |
|
MrOnlineCoder, да, классная штука, не знал о ней до сегодняшнего дня. а как у Вас реализована эта возможность сжатия фото от пользователей? можете поделиться кодом?
0
|
|
|
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
|
|||||||
| 11.06.2019, 23:09 | |||||||
|
ragug, сам код с сайта не скину, там много лишнего в контексте этой темы, но там все просто:
1. С помощью пакета multer загружается на сервер файл и генерируется уникальное имя для файла 2. С помощью пакета sharp файл сжимается до размеров, которые используются на стороне клиента:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 29
|
||
| 11.06.2019, 23:22 [ТС] | ||
|
Есть папка с фотками. Например, 1.jpg, 2.jpg, 3.jpg и так далее Мне надо на выходе получить 1-600px.jpg, 1-400px.jpg, 1-200px.jpg и 2-600px.jpg, 2-400px.jpg, 2-200px.jpg и 3-600px.jpg, 3-400px.jpg, 3-200px.jpg И плюс тоже самое в webp, то есть 1-600px.webp, 1-400px.webp, 1-200px.webp и 2-600px.webp, 2-400px.jpg, 2-200px.webp и 3-600px.webp, 3-400px.webp, 3-200px.webp 600px, 400px и 200px - это ширина изображения, высота должна пропорционально подогнаться... Вот, собственно, такая штука мне нужна.
0
|
||
|
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
|
|||||||||||
| 11.06.2019, 23:46 | |||||||||||
Сообщение было отмечено ragug как решение
Решение
ragug, теперь понял) Вам нужно реализовать несложный алгоритм примерно такого вида:
1. С помощью fs.readdir получить список файлов в каталоге 2. Создать функцию, которая на входе принимает оригинальное название файла, например
4. И наконец, функция resizeAndSave с помощью sharp сохраняет новое изображение, предварительно по пропорции рассчитав нужную высоту. Добавлено через 50 секунд P.S. если это связано с загружаемым контентом от пользователей на сайте, то я бы порекомендовал вам генерировать картинки разных форматов уже на этапе загрузки.
1
|
|||||||||||
|
Software Engineer
332 / 335 / 55
Регистрация: 23.09.2014
Сообщений: 983
|
|
| 11.06.2019, 23:53 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 29
|
|
| 12.06.2019, 10:59 [ТС] | |
|
MrOnlineCoder, спасибо!
0
|
|
|
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
|
|
| 12.06.2019, 13:00 | |
|
Custos, упс, извиняюсь, попутал с другой библиотекой)
Но авторы утверждают что их решение быстрее imagemagick, так что можно испытать все равно)
0
|
|
| 12.06.2019, 13:00 | |
|
Помогаю со студенческими работами здесь
9
Кроп и пакетная обработка Пакетная обработка файлов Удалить фон (пакетная обработка)
Пакетная обработка изображений с сохранением пропорций Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|