У меня есть 5000 изображений, которые мне нужно сжать (для отображения на моем сайте).
Я новичок в Ubuntu. Так что мне делать?
У меня есть 5000 изображений, которые мне нужно сжать (для отображения на моем сайте).
Я новичок в Ubuntu. Так что мне делать?
Ответы:
Слово «сжатие», по-видимому, неправильно истолковано в этом вопросе, но оно все же верно в зависимости от контекста, который вы хотите увидеть.
Давайте посмотрим правде в глаза, что веб-дизайнеры, веб-разработчики и / или веб-мастера должны «сжимать» наши файлы изображений, чтобы сделать их достаточно «легкими» для быстрой загрузки на наш хостинг, если мы работаем непосредственно в реальной производственной среде. Что не повлияет, если мы работаем в локальной тестовой среде.
Многие из ответов, похоже, относятся к другим вещам, в основном вызванным из-за, вероятно, того, что они не сталкивались с такими пейзажами. Вот почему я начинаю объяснять это.
Так. Давайте разберемся, какой ответ нужно решить:
Давайте сначала разберемся, какой должна быть «легкая картинка».
Изображения высокого разрешения с разрешением более 1024 пикселей могут иметь большой размер файла. Я приведу пример на этом скриншоте:
В окне свойств файла мы видим, что это файл размером 9,5 МБ, который сильно задерживает загрузку и много задерживает для отображения на экране при публикации на веб-сайте.
Тем не менее, размер изображения и разрешение сетки действительно полезны для печати высокой четкости. Так что это другой пейзаж, который я не буду освещать в этом объяснении.
Итак, как я могу использовать это изображение на веб-сайте, не дожидаясь нескольких лет, чтобы загрузить его, и ждать еще несколько лет, чтобы показать его на своем веб-сайте?
И когда мы говорим о «сжатии», нам явно необходимо изменить его качество, чтобы сделать его пригодным для использования в нашем случае.
Итак, давайте бросим следующее в терминале:
convert seminario-tabloide.png test.jpg
Это собирается преобразовать формат PNG высокой четкости в «сжатый» формат JPG, который сам по себе является меньшим файлом! Это идет от 9,5 МБ до 2,4 МБ.
Но 2,4 МБ - это все же большой размер файла. Теперь давайте поиграем с некоторыми другими командами преобразования ImageMagick , чтобы создать файлы меньшего размера:
convert test.jpg -quality 50% test-50p.jpg
Это то, что нам нужно сделать, чтобы «сжать» изображение. Это приведет к снижению качества изображения на 50% и предоставлению файла размером 938,4 КБ <=== (примечание: килобайты, даже не мегабайты).
Мы можем пойти дальше и создать файл меньшего размера, изменив процент в той же команде с помощью:
convert test.jpg -quality 30% test-30p.jpg
Помните, что в этом примере мы снижаем качество файла, а не размеры изображения. Это приведет к сжатому файлу, который не будет визуально затронут при визуализации на экране, но вы увидите артефакты при печати на бумаге большого размера (больше, чем буква).
В настоящее время. Мы можем сделать что-то другое. Пара вещей действительно: мы можем сначала изменить размеры изображений и затем применить сжатие, что приведет к меньшему размеру файла, чем оригинал, и предоставит полезное изображение для рендеринга на экране, не очень хорошее для печати, но, кажется, мы нужно отображать его на экране, а не в печатном баннере, верно?
Итак, давайте сделаем это:
convert seminario-tabloide.png -resize 1024x test-1024x.jpg
С помощью этой инструкции мы просим изменить размер изображения на 1024 пикселя в ширину на любое количество пикселей, необходимое для того, чтобы не потерять пропорции.
Теперь ... угадайте что?
Размер файла уменьшен с 9,5 МБ до ... (ждите музыку с конгами, пожалуйста) 433,7 КИЛОБАЙТОВ
Если мы хотим максимально сжать максимально сжатый файл, как этот, мы столкнемся с некоторыми дополнительными данными, вставленными в файл, и это приведет к увеличению размера файла. Так что я не буду предлагать вам попробовать, но если вы ожидаете, что я сделаю пример, хорошо ... Вот и мы!
convert test-1024x.jpg -quality 50% test-1024x-50p.jpg
И мы поднялись с 433,7 КБ до 176,2 КБ за одну команду. Этот пример был успешным, тем не менее, не ожидайте, что какие-либо упражнения приведут к меньшему размеру файла. Но вы можете получить массу удовольствия, выполняя подобные упражнения.
Ой! Но я почти забываю одну из потребностей: применить этот процесс к множеству фотографий с легкостью.
Для такой вещи мы можем сделать это с двумя процессами.
Это быстрее и проще. Итак, давайте скажем терминалу, что нам нужно выполнить одну и ту же инструкцию во всех файлах в каталоге, после чего я объясню другую инструкцию.
Конвертировать все в 1024px (вы можете использовать любое количество пикселей)
for i in *; do convert $i -resize 1024x $i-1024x.jpg; done;
Здесь мы просим команду выполнить одну и ту же инструкцию для всех файлов в каталоге, применить преобразование и удалить копию с другим именем, чтобы ее было легко выбрать.
Уменьшите качество в процентах (используйте любой процент, какой пожелаете) для всех изображений в каталоге:
for i in *-1024x.jpg; do convert $i -quality 50% $i-50p.jpg; done;
Здесь мы просим уменьшить качество изображений, чтобы уменьшить его размер.
Вы можете играть с этими командами и увидеть свои результаты. После нескольких часов веселья вы станете экспертом.
20 апреля 2015 года я столкнулся с такой ситуацией, как первоначальный вопрос, поэтому мне пришлось провести некоторое исследование и попросить помощи по вопросу. Вот почему теперь я знаю много этого. Не думай, что я родился с этим знанием, чувак.
Если вы не привыкли к терминалам и / или хотите использовать графический интерфейс для простого выбора групп файлов и применения преобразований, вы можете создать собственный сценарий действий Nautilus, чтобы просто щелкнуть правой кнопкой мыши группу файлов и выбрать опция из контекстного меню.
Для получения инструкций о том, как это сделать, прочитайте вопрос, ответ и комментарии здесь: Как выполнить пакетную обработку изображений JPG, чтобы изменить их качество с помощью Nautilus-Actions?
Удачи!
convert
Навыки командной строки ImageMagick - это здорово.
convert photo.jpg -quality 70% photo_compressed.jpg
формат команды, и она отлично работала! Даже установив сжатие только на 70% от исходного качества, размер фотографии уменьшился до ~ 37% от исходного, так как эффект усиливается за счет осей x и y.
mogrify -resize 1600 -path dir_name -format JPG -quality 90 *.tif
Если вы имеете в виду изображения JPEG, сжатие де-факто невозможно. Поскольку jpeg по определению является сжатым форматом файла (все шумы и ненужные пиксели уже удалены). Вы можете застегнуть их, но общий размер останется примерно таким же. Единственный продвинутый алгоритм сжатия, который я знаю для jpegs - это zipx. Но zipx является собственностью Winzip и обеспечивает максимальную размер уменьшен на 30% (в режиме архива zipx).
Чтобы отобразить ваши изображения в Интернете, сначала вы должны изменить их размер (менее 1 МБ на каждый) и при желании преобразовать их в формат файла png. PNG (= портативная сетевая графика) специально оптимизирована для более быстрой передачи в Интернете и более быстрого отображения. Опытные пользователи могут даже конвертировать эти изображения в формат webp (формат Google для изображений, самый быстрый алгоритм загрузки).
Вы можете пакетно конвертировать изображения с помощью XnConvert, а затем изменять размер ваших изображений с помощью XnView. Загрузите пакет deb здесь: http://www.xnview.com/de/xnviewmp/#downloads , затем щелкните его правой кнопкой мыши и откройте его с помощью Gnome Software.
Если вы не заботитесь о скорости загрузки сети, но заботитесь о качестве, вы должны оставить ваши изображения нетронутыми и создать для них цифровую библиотеку. Возможно, загрузите их на общедоступный сервер (Yahoo, Google и т. Д.).