Как преобразовать сразу несколько изображений JPG в PNG в Photoshop?

У меня есть папка, в которой много файлов JPG . Теперь я хочу преобразовать их все в файлы PNG . Я искал на YouTube, но не понял методов. Кроме того, они не были эффективны, так как им приходилось делать одно за другим, сначала создавая действие . А в фотошопе есть другой способ? Например, выбрать папку, выбрать выходную папку и желаемый тип файла?

Например, у меня есть другое программное обеспечение под названием PhotoScape. В этом программном обеспечении есть функция, называемая Пакетная обработка. Но я хочу сделать это в фотошопе. Есть идеи?


6

Рассмотрите возможность использования ImageMagick или GraphicsMagick. Простой

  mogrify -format png * .jpg  

или, если вам нравятся расширения в верхнем регистре,

  mogrify -format PNG * .JPG  

преобразует все файлы JPG в каталоге (папке) в PNG одним махом.

Кстати, ожидайте, что ваши PNG-файлы будут в 10 раз больше, чем JPG, если они являются фотографиями.

Улучшите этот ответ
отредактировано 7 августа 2016 года в 22:48
ответил 07 августа 2016 в 21:15
  • 2
    Хороший ответ. Несмотря на то, что OP, похоже, хочет использовать Photoshop для преобразования, это эффективное действие, scriptable , и будет хорошим ответом для будущих искателей, у которых нет строгих правил “должен использовать Photoshop ». – scottbb ♦ 07 августа 2016, 21:37
добавить комментарий |

Рассмотрите возможность использования ImageMagick или GraphicsMagick. Простой

  mogrify -format png * .jpg  

или, если вам нравятся расширения в верхнем регистре,

  mogrify -format PNG * .JPG  

преобразует все файлы JPG в каталоге (папке) в PNG одним махом.

Кстати, ожидайте, что ваши PNG-файлы будут в 10 раз больше, чем JPG-файлы, если они являются фотографиями.


3

Посмотрите на пункты меню File-> Automate и File-> Scripts. Возможно, вы могли бы создать каплю или запустить обработчик изображений, хотя я не знаю, позволяют ли они преобразование, в частности, в PNG.

Посмотрите, что Adobe говорит о пакетной обработке, на веб-сайте справки Photoshop.

Возможно, мне что-то не хватает, но при преобразовании существующих jpeg в png вы получите ухудшение качества JPEG и худшее сжатие (при условии, что мы говорим о фотографиях) png вместе …

Улучшите этот ответ
ответил 7 августа ‘ 16, 22:18
добавить комментарий |

Посмотрите на пункты меню File-> Automate и File-> Scripts. Возможно, вы могли бы создать каплю или запустить обработчик изображений, хотя я не знаю, позволяют ли они преобразование, в частности, в PNG.

Посмотрите, что Adobe говорит о пакетной обработке, на веб-сайте справки Photoshop.

Возможно, мне что-то не хватает, но при преобразовании существующих jpeg в png вы получите ухудшение качества JPEG и худшее сжатие (при условии, что мы говорим о фотографиях) png вместе …


0

Сначала весь файл jpeg выберите/откройте фотошоп/нажмите меню окна/Нажмите Действие (Alt + F9)/Нажмите, чтобы создать новое действие/Сделать имя Jpeg в Png/Нажмите запись/Нажмите меню «Файл»/Нажмите, чтобы открыть/Выбрать папку Jpeg (любой файл)/Нажмите Сохранить как/Нажмите папку png; Файл введите: png, затем ok/В действии Нажмите Остановить воспроизведение/запись (нижняя область в левой части)/Нажмите файл/Автоматизировать/Пакетная обработка (Действие: Jpeg в PNG; Источник: папка, Выберите: Папка Jpeg, Поле для отметки: Переопределить в ac ция/Подавить файл/Подавить цвет, Место назначения: папка, Выбрать: Выбрать папку png) Нажмите ок. Затем процесс начнется.

Пожалуйста, посмотрите это видео: Как конвертировать несколько/пакетных изображений с помощью Photoshop CS4

Улучшите этот ответ
отредактировано 13 мая ’17 в 15:21
ответил 13 мая ’17 в 14: 34
  • Измените свой ответ, чтобы отформатировать его для большей читабельности.. – scottbb ♦ 13 мая ’17 в 14:43
добавить комментарий |

Сначала все файлы jpeg выберите/откройте фотошоп/щелкните меню окна/щелкните действие (Alt + F9)/щелкните создать новый действие/Сделать имя Jpeg в Png/Нажмите запись/Нажмите меню «Файл»/Нажмите «Открыть»/Выберите папку Jpeg (любой файл)/Нажмите «Сохранить как»/Нажмите папку png; Тип файла: png, затем ОК/В действии Нажмите Остановить воспроизведение/запись (вниз область слева)/Щелкните файл/Автоматизация/Пакетная обработка (Действие: Jpeg в PNG; Источник: папка, Выберите: папка Jpeg, Поле отметки: Переопределить в действии/Подавить файл/Подавить цвет, Место назначения: папка, Выбрать: Выбрать png) Нажмите ок. Затем процесс начнется.

Пожалуйста, посмотрите это видео: Как конвертировать несколько/пакетных изображений с помощью Photoshop CS4



Пакетное преобразование PNG в JPG в Linux

Кто-нибудь знает хороший способ пакетного преобразования нескольких PNG в JPG в Linux? (Я использую Ubuntu).

Бинарный файл png2jpg, который я мог бы просто вставить в сценарий оболочки, был бы идеальным.


Ваш лучший выбор было бы использовать ImageMagick.

Я не являюсь экспертом в фактическом использовании, но я знаю, что с этим можно делать практически все, что связано с изображениями!

пример:

  convert image.png image.jpg  

, который сохранит оригинал, а также создаст преобразованное изображение.

Что касается пакетного преобразования, я думаю, вам нужно использовать инструмент Mogrify, который является частью ImageMagick.

Имейте в виду, что этот перезаписывает старые изображения.

Команда:

  mogrify -format jpg * .png  

92

У меня есть еще пара решений.

Самое простое решение, как и большинство уже опубликованных. Простой цикл for в bash.

  for i in * .png;  преобразовать "$ i" "$ {i%. *}. jpg";  готово  

По какой-то причине я стараюсь избегать циклов в bash, так что здесь более unixy подход xargs, использующий bash для изменения имени.

   ls -1 * .png |  xargs -n 1 bash -c 'convert "$ 0" "$ {0%. *}. jpg"'  

Тот, который я использую. Он использует GNU Parallel для одновременного выполнения нескольких заданий, что дает вам повышение производительности. Он установлен по умолчанию во многих системах и почти наверняка присутствует в вашем репозитории (это хорошая программа, которую нужно иметь под рукой).

  ls -1 * .png |  parallel convert '{}' '{.}. jpg'  

Количество заданий по умолчанию равно количеству имеющихся у вас ядер ЦП. Я обнаружил, что использование ЦП лучше, используя 3 задания в моей двухъядерной системе.

  ls -1 * .png |  parallel -j 3 convert '{}' '{.}. jpg'  

И если вам нужна статистика (расчетное время прибытия, выполненные задания, среднее время выполнения задания …)

  ls -1 * .png |  parallel --eta convert '{}' '{.}. jpg ' 

Существует также альтернативный синтаксис, если вы используете GNU Parallel.

  parallel convert' {} '' {  .}. jpg '::: * .png  

И аналогичный синтаксис для некоторых других версий (включая debian).

  параллельное преобразование '{}' '{.}. jpg' - * .png  

Улучшите этот ответ
отредактировано 7 августа ’20 в 11:37
ответил 28 января 2013 в 02:45
  • 2
    +1 для правильного расширения строки bash в for, если бы я мог дать Вы еще раз за упоминание параллели, я бы хотел. Однако есть одна опечатка – вам нужно сделать done в конце цикла for. Кроме того, для параллельных операций вы можете избежать использования этого ls и конвейера с такой конструкцией, как: parallel -j 3 --eta convert '{}' '{.} .jpg '::: * .png (см. здесь) – Evilsoup 28 янв. ’13 в 3:04
  • Исправлена ​​опечатка. Это крутой синтаксис, о котором я не знал. Я не знаю, какой из них мне больше нравится, вероятно, по той же причине, по которой я предпочитаю не использовать циклы в bash. Я назвал это решением, потому что это, вероятно, более «правильный» способ, но я, вероятно, буду придерживаться метода ls для себя, потому что он имеет для меня больше смысла. – Кевин Кокс, 28 янв., 14:04
  • 1
    … хотя следует отметить, что этот синтаксис работает только с параллельным GNU. Параллель, которая упакована в некоторые дистрибутивы Linux (например, Debian и Ubuntu), на самом деле представляет собой другую версию с немного другим синтаксисом (используйте - вместо ::: ) – и даже тогда в нем, к сожалению, отсутствуют некоторые функции параллельного GNU. – Evilsoup 28 янв. 2013, 14:17
  • (хотя те, кто использует дистрибутивы, которые не упаковывают GNU parallel, могут довольно легко установить его из исходного кода, используя приведенные здесь инструкции) – Evilsoup 28 января 2013 г., 14:24
  • 1
    Если у вас есть каталог с более чем 10 000 изображений PNG в нем. .. команда ls скорее всего завершится ошибкой. Итак, эта команда работает в таких ситуациях: find. -type f -name '* .png' | parallel --eta convert '{}' '{.}. jpg' – Ahi Tuna 3 окт. 2018, 13:45
| показать 1 дополнительный комментарий

У меня есть еще пара решений.

Самое простое решение, как и большинство уже опубликованных. Простой цикл for в bash.

  for i in * .png;  преобразовать "$ i" "$ {i%. *}. jpg";  готово  

По какой-то причине я стараюсь избегать циклов в bash, так что здесь более unixy подход xargs, использующий bash для изменения имени.

   ls -1 * .png |  xargs -n 1 bash -c 'convert "$ 0" "$ {0%. *}. jpg"'  

Тот, который я использую. Он использует GNU Parallel для одновременного выполнения нескольких заданий, что дает вам повышение производительности. Он установлен по умолчанию во многих системах и почти наверняка присутствует в вашем репозитории (это хорошая программа, которую нужно иметь под рукой).

  ls -1 * .png |  parallel convert '{}' '{.}. jpg'  

Количество заданий по умолчанию равно количеству имеющихся у вас ядер ЦП. Я обнаружил, что использование ЦП лучше, используя 3 задания в моей двухъядерной системе.

  ls -1 * .png |  parallel -j 3 convert '{}' '{.}. jpg'  

И если вам нужна статистика (расчетное время прибытия, выполненные задания, среднее время выполнения задания …)

  ls -1 * .png |  parallel --eta convert '{}' '{.}. jpg'  

Существует также альтернативный синтаксис, если вы используете GNU Parallel.

  parallel convert '{}' '{.}. jpg' ::: * .png  

И аналогичный синтаксис для некоторых других версий (включая debian) .

  параллельное преобразование '{}' '{.}. jpg' - * .png  

26

Команда convert , имеющаяся во многих дистрибутивах Linux, устанавливается как часть пакета ImageMagick. Вот код bash для запуска convert для всех файлов PNG в каталоге и избежания этой проблемы двойного расширения:

  для img в * .png  ;  do filename = $ {img%. *} convert "$ filename.png" "$ filename.jpg" done  

Улучшите этот ответ
отредактировано 7 июня ’13 в 2:09
Мэтт Райалл
10344 бронзовых знака
ответил 16 нояб., в 3:28
  • 8
    Согласно странице руководства для convert: «Программа convert является членом набора инструментов ImageMagick (1)». – последний ноябрь 16 ’09 в 4:06
  • 1
    Вы правы. Почему-то я подумал, что это часть другой библиотеки. В любом случае приведенный выше код – это правильный способ автоматизировать пакетное преобразование в каталоге.. – Марчин 16 нояб., 09:17
  • 2
    Вы можете использовать расширение bash, чтобы улучшить эту команду, например: для f в * .png; преобразовать "$ f" в "$ {f/% png/jpg}"; готово – Evilsoup 28 янв. 2013, 02:57
  • просто помните, что это чувствительно к регистру. моя камера назвала его * .JPG и не осознавала этого в первую очередь. – tsenapathy 27 мар. ’16 в 1:07
добавить комментарий |

Команда convert , имеющаяся во многих дистрибутивах Linux, устанавливается как часть пакета ImageMagick. Вот код bash для запуска convert для всех файлов PNG в каталоге и избежания этой проблемы двойного расширения:

  для img в * .png  ;  do filename = $ {img%. *} convert "$ filename.png" "$ filename.jpg" done  

13

Для тех, кому нужны самые простые команды:

Преобразовать и сохранить исходные файлы:

  mogrify -format jpg * .png  

Преобразовать и удалить исходные файлы:

  mogrify -format jpg * .png && rm * .png  

Вроде опаздывает на вечеринку, но просто чтобы прояснить всю путаницу для тех, кому может быть не очень комфортно с cli, вот очень упрощенная ссылка и объяснение.

Пример каталога

  bar.pngfoo.pngfoobar.jpg  

Сохраняет все исходные файлы png, а также создает файлы jpg.

  mogrify -format jpg * .png  

Результат

  ba  r.pngbar.jpgfoo.pngfoo.jpgfoobar.jpg  

Объяснение

  • mogrify – это часть набора инструментов ImageMagick для обработки изображений.
    • mogrify обрабатывает изображения на месте , то есть исходный файл перезаписывается, за исключением -format вариант. (С сайта: Этот инструмент похож на преобразование, за исключением того, что исходный файл изображения перезаписывается (если вы не измените суффикс файла с помощью параметра -format) )
  • Параметр - format указывает, что вы будете изменять формат, а следующим аргументом должен быть тип (в данном случае jpg).
  • Наконец, *. png – это входные файлы (все файлы, оканчивающиеся на .png).

Преобразует все png файлы в jpg, удаляет оригинал.

  mogrify -format jpg * .png && rm * .png  

Результат

  bar.jpgfoo.jpgfoobar. jpg  

Объяснение

  • Первая часть точно такая же, как и выше, она будет создавать новые файлы jpg.
  • && – это логический оператор. Вкратце:
    • Когда программа завершается, она возвращает статус выхода. Статус 0 означает отсутствие ошибок.
    • Поскольку && выполняет оценку короткого замыкания, правая часть будет выполняться только в том случае, если ошибок не было . Это полезно, потому что вы можете не захотеть удалять все исходные файлы, если при их преобразовании произошла ошибка.
  • rm удаляет файлы.

А теперь вот некоторые полезности для людей, которые хорошо разбираются в клике.

Если вы хотите получить какой-либо результат при преобразовании файлов:

  для i в * .png;  сделать mogrify -format jpg "$ i" && rm "$ i";  echo "$ i преобразовано в $ {i%. *}. jpg";  готово  

Преобразование всех файлов PNG во всех подкаталогах и выдача вывода для каждого из них:

  find.  -iname '* .png' |  пока читал я;  сделать mogrify -format jpg "$ i" && rm "$ i";  echo "Преобразовал $ i в $ {i%. *}. jpg";  готово  

Преобразовать все файлы png во всех подкаталогах, поместить все полученные файлы jpg в каталог all , пронумеровать их, удалить исходные файлы png, и отображать вывод для каждого файла по мере его появления:

  n = 0;  находить .  -iname '* .png' |  пока читал я;  сделать mogrify -format jpg "$ i" && rm "$ i";  fn = "все/$ ((n ++)). jpg";  mv "$ {i%. *}. jpg" "$ fn";  echo "Перемещено $ i в $ fn";  готово  

Улучшите этот ответ
17 окт. в 15:02
  • Вероятно, лучший ответ, если вы избавитесь от части во время чтения (замените или удалите все вместе) … – don_crissti 26 окт., в 12:07
  • @don_crissti, что не так с при чтении? – Стивен Джеффрис, 26 октября 2015, 13:47
  • Это подвержено ошибкам (если вы на 100% не уверены, что имеете дело с разумными именами файлов) и медленным (например, очень, очень, очень медленно). – don_crissti, 26 окт., В 14:01
  • Какое качество JPG по умолчанию и как сохранить временные метки файлов? – Дэн Даскалеску 17 окт., 17:24
  • @DanDascalescu Приведенные выше методы (кроме последнего) сохранят имена файлов, но заменят их расширение, поэтому файлы с отметками времени должны быть в порядке (всегда делайте копию и сначала проверяйте). Согласно ImageMagick, «по умолчанию используется оценочное качество вашего входного изображения, если оно может быть определено, в противном случае 92» (imagemagick.org/script/command-line-options.php#quality) Качество можно указать с помощью -quality где от 1 до 100. – Стивен Джеффрис, 17 октября 2017 г., 21:31
| показать 1 дополнительный комментарий

Для тех, кому нужны самые простые команды:

Преобразовать и сохранить исходные файлы:

  mogrify -format jpg * .png  

Конвертировать и удалить исходные файлы:

  mogrify  -format jpg * .png && rm * .png  

Скорее опаздывает на вечеринку, но просто чтобы прояснить всю путаницу для тех, кому может быть не очень комфортно с cli, вот очень упрощенная ссылка и объяснение.

Пример каталога

  bar.pngfoo.pngfoobar.  jpg  

Сохраняет все исходные файлы png, а также создает файлы jpg.

  mogrify -format jpg * .png  

Результат

  bar.pngbar.jpgfoo.pngfoo.jpgfoobar.jpg  

Объяснение

  • mogrify является частью набора инструментов ImageMagick для изображения p rocessing.
    • mogrify обрабатывает изображения на месте , то есть исходный файл перезаписывается, за исключением -format вариант. (С сайта: Этот инструмент похож на преобразование, за исключением того, что исходный файл изображения перезаписывается (если вы не измените суффикс файла с помощью параметра -format) )
  • Параметр - format указывает, что вы будете изменять формат, а следующим аргументом должен быть тип (в данном случае jpg).
  • Наконец, *. png – это входные файлы (все файлы, оканчивающиеся на .png).

Преобразует все png файлы в jpg, удаляет оригинал.

  mogrify -format jpg * .png && rm * .png  

Результат

  bar.jpgfoo.jpgfoobar.jpg  

Объяснение

  • Первая часть точно такая же, как и выше, она создает новые файлы jpg.
  • && – логический оператор. Вкратце:
    • Когда программа завершается, она возвращает статус выхода. Статус 0 означает отсутствие ошибок..
    • Поскольку && выполняет оценку короткого замыкания, правая часть будет выполнена, только если не было ошибок . Это полезно, потому что вы можете не захотеть удалять все исходные файлы, если при их преобразовании произошла ошибка.
  • rm удаляет файлы.

А теперь вот некоторые полезности для людей, которые хорошо разбираются в клике.

Если вы хотите получить какой-либо результат при преобразовании файлов:

  для i в * .png;  сделать mogrify -format jpg "$ i" && rm "$ i";  echo "$ i преобразовано в $ {i%. *}. jpg";  готово  

Преобразование всех файлов PNG во всех подкаталогах и выдача вывода для каждого из них:

  find.  -iname '* .png' |  пока читал я;  сделать mogrify -format jpg "$ i" && rm "$ i";  echo "Преобразовал $ i в $ {i%. *}. jpg";  готово  

Преобразовать все файлы png во всех подкаталогах, поместить все полученные файлы jpg в каталог all , пронумеровать их, удалить исходные файлы png, и отображать вывод для каждого файла по мере его появления:

  n = 0;  находить .  -iname '* .png' |  пока читал я;  сделать mogrify -format jpg "$ i" && rm "$ i";  fn = "все/$ ((n ++)). jpg";  mv "$ {i%. *}. jpg" "$ fn";  echo "Перемещено $ i в $ fn";  готово  

8

Фактический Команда “ png2jpg “, которую вы ищете, в действительности разделена на две команды, называемые pngtopnm и cjpeg , и они часть пакетов netpbm и libjpeg-progs соответственно.

  png2pnm foo.png |  cjpeg> foo.jpeg  

Улучшите этот ответ
отредактировано 15 декабря 2009 г., 11:11
ответил 16 ноября 2009 г. в 5:29
комментировать |

Фактическая команда “ png2jpg “, которую вы ищете, на самом деле разделена на две команды, называемые pngtopnm и cjpeg , и они являются частью netpbm и libjpeg-progs пакеты соответственно.

  png2pnm foo.png |  cjpeg> foo.jpeg  

6

  найти.  -имя "*. png "-print0 | xargs -0 mogrify -format jpg -quality 50  

Улучшите этот ответ
ответил 13 октября ’14 в 17:12
  • 1
    Спасибо за однострочное решение для глубокого/рекурсивного каталога, которое оставляет результирующие файлы *. jpg рядом с исходными *. png файлы, показывает, как уменьшить размер/качество файла и не ломается из-за каких-либо нечетных символов в каталоге или имени файла. – Джоэл Пурра, 28 дек. /div>
    добавить комментарий |

   find. -name "* .png" -print0 | xargs -0 mogrify -format jpg -quality 50  

5

мое быстрое решение для i в $ (ls | grep .png); преобразовать $ i $ (echo $ i.jpg | sed s/.png//g); готово

Улучшите этот ответ
ответил 7 мая ’12 в 12:42
  • 2
    Это должна быть одна из самых уродливых и запутанных командных строк, которые я когда-либо видел – Evilsoup 28 января 2013 в 2:56
  • 1
    @evilsoup Честно говоря, это элегантно для сценариев оболочки. Утверждать, что это запутанно, несправедливо. – Макс Хауэлл 05 нояб., 17:31
  • 8
    @MaxHowell, чувак. Нет. Вот изящная версия этого: for f in ./*.png; преобразовать "$ f" "$ {f%. *}. jpg"; готово . Это позволяет избежать совершенно ненужных вызовов ls , grep и sed echo , но IIRC, который является встроенным в bash и поэтому не будет иметь/очень небольшое влияние на производительность) и избавляется от двух каналов и двух подоболочек, и требует меньше ввода. Он даже немного более портативен, поскольку не все версии ls безопасны для синтаксического анализа. – Evilsoup 06 нояб. 2013 в 12:08
  • @evilsoup Я исправился! Молодец. – Макс Хауэлл 06 нояб., 13:58
добавить комментарий |

мое быстрое решение для i в $ (ls | grep .png); конвертировать $ i $ (echo $ i.jpg | sed s/. png//г); готово


4

Много лет слишком поздно, специально для этой цели есть утилита png2jpeg, которую я создал.

Адаптация кода с помощью @Marcin:

  #!/bin /shfor img в * .pngdo filename = $ {img%. *} png2jpeg -q 95 -o "$ filename.jpg" "$ filename.png" готово  

Улучшить этот ответ
отредактировал 16 ноября ’16 в 10:26
ответил 22 окт. в 12:37
добавить комментарий |

Слишком поздно, появилась утилита png2jpeg специально для этой цели, которую я создал.

Адаптация код от @Marcin:

  #!/bin/shfor img в * .pngdo filename = $ {img%. *} png2jpeg -q 95 -o "$ filename.  jpg "" $ filename.png "готово  

3

Для пакетной обработки:

  для img в * .png;  преобразовать "$ img" "$ img.jpg" готово  

Однако в конечном итоге вы получите имена файлов вроде image1.png.jpg.

Это будет работать в bash и, возможно, в bourne. Я не знаю о других оболочках, но единственное отличие, скорее всего, заключается в синтаксисе цикла.

Улучшите этот ответ
ответил 16 ноября ’09 в 2:28
добавить комментарий |

Для пакетной обработки:

  для img в * .png;  преобразовать "$ img" "$ img.jpg" готово  

Однако в конечном итоге вы получите имена файлов вроде image1.png.jpg.

Это будет работать в bash и, возможно, в bourne. Я не знаю о других оболочках, но единственное отличие, скорее всего, заключается в синтаксисе цикла.


1

Это то, что я использую для преобразования, когда файлы охватывают более одного каталога. Мой исходный файл был TGA в PNG

  find.  -имя "* .tga" -тип f |  sed 's/. tga $//' |  xargs -I% convert% .tga% .png  

Идея состоит в том, что вы находите нужные файлы, удаляете расширение и добавляете его обратно с помощью xargs . Итак, для PNG на JPG вы должны изменить расширения и сделать еще одну вещь для работы с альфа-каналами, а именно установить фон (в этом примере белый, но вы можете изменить его), а затем сгладите изображение

  найти.  -name "* .png" -type f |  sed 's/. png $//' |  xargs -I% convert% .png -background white -flatten% .jpg  

Улучшите этот ответ
ответил 17 сентября ’16 в 02:34
добавить комментарий |

Это то, что я использую для преобразования, когда файлы охватывают более одного каталога. Мой исходный файл был TGA в PNG

  find.  -имя "* .tga" -тип f |  sed 's/. tga $//' |  xargs -I% convert% .tga% .png  

Идея состоит в том, что вы находите нужные файлы, удаляете расширение и добавляете его обратно с помощью xargs . Итак, для PNG на JPG вы должны изменить расширения и сделать еще одну вещь для работы с альфа-каналами, а именно установить фон (в этом примере белый, но вы можете изменить его), а затем сгладите изображение

  найти.  -name "* .png" -type f |  sed 's/. png $//' |  xargs -I% convert% .png -background white -flatten% .jpg  

0

Если ваш PNG прозрачный, попробуйте добавить черный bg перед преобразованием:

  mogrify -format jpg -background black -flatten  * .png  

или белый bg:

  mogrify -format jpg -background white -flatten * .png  

Улучшите это ответ
ответ дан 19 апр. ’20 в 4:34
  • Спасибо. Последний комментарий, но спас меня от того, чтобы спуститься в кроличью нору, выясняя почему? >> mogrify: невозможно открыть изображение ‘jpg:’: нет такого файла или каталога @ error/blob.c/OpenBlob/3496. – Slabo 23 апр. ’20 в 21:20
добавить комментарий |

Если ваш PNG прозрачный, попробуйте добавить черный bg перед преобразованием:

   mogrify -format jpg -background черный -flatten * .png  

или белый bg:

  mogrify -format jpg -background  белый -flatten * .png  

Оцените статью
futurei.ru
Добавить комментарий