взаимные преобразования JPG и PNG

Изображения, фотографии, моделирование

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

взаимные преобразования JPG и PNG

Непрочитанное сообщение Olej » 16 дек 2019, 15:17

Иногда нужно сделать преобразование JPG в PNG ... например для скриншотов, тем более, что есть инструмент сильного сжатия PNG без визуальной потери качества: Pngquant.

Есть очень много онлайн конверторов для этих целей, например: Конвертер JPG в PNG.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: взаимное преобразование JPG и PNG

Непрочитанное сообщение Olej » 16 дек 2019, 15:32

Но такие взаимные преобразования легко делать утилитой convert из проекта ImageMagic, который по дефаулту установлен практически в любом дистрибутиве Linux.

Код: Выделить всё

olej@ACER:~/2019_WORK/HISTORY/12/16$ convert KIMG0075.JPG c1.png

olej@ACER:~/2019_WORK/HISTORY/12/16$ file c1.png
c1.png: PNG image data, 2592 x 1944, 8-bit/color RGB, non-interlaced

Такое преобразование может сильно увеличить размер:

Код: Выделить всё

olej@ACER:~/2019_WORK/HISTORY/12/16$ du -hs KIMG0075.JPG
2,5M	KIMG0075.JPG

olej@ACER:~/2019_WORK/HISTORY/12/16$ du -hs c1.png
8,9M	c1.png
Но можно существенно ужать PNG:

Код: Выделить всё

olej@ACER:~/2019_WORK/HISTORY/12/16$ pngquant c1.png

olej@ACER:~/2019_WORK/HISTORY/12/16$ file c1-fs8.png
c1-fs8.png: PNG image data, 2592 x 1944, 8-bit colormap, non-interlaced

olej@ACER:~/2019_WORK/HISTORY/12/16$ du -hs c1-fs8.png
3,2M	c1-fs8.png
Обратное преобразование PNG->JPG:

Код: Выделить всё

olej@ACER:~/2019_WORK/HISTORY/12/16$ convert c1-fs8.png c1.jpg

olej@ACER:~/2019_WORK/HISTORY/12/16$ du -hs c1.jpg
2,4M	c1.jpg

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: взаимные преобразования JPG и PNG

Непрочитанное сообщение Olej » 16 дек 2019, 19:38

Ещё одна функция convert - (быстрое) преобразование размера изображения:

Код: Выделить всё

c1.jpg: JPEG image data, JFIF standard 1.01, resolution (DPCM), density 28x28, segment length 16, baseline, precision 8, 2592x1944, components 3
olej@ACER:~/2019_WORK/HISTORY/12/16$ file c1.200.jpg 
Меняем размер:

Код: Выделить всё

olej@ACER:~/2019_WORK/HISTORY/12/16$ convert c1.jpg -resize 200 c1.200.jpg
olej@ACER:~/2019_WORK/HISTORY/12/16$ file c1.jpg 
В результате:

Код: Выделить всё

olej@ACER:~/2019_WORK/HISTORY/12/16$ file c1.200.jpg 
c1.200.jpg: JPEG image data, JFIF standard 1.01, resolution (DPCM), density 28x28, segment length 16, baseline, precision 8, 200x150, components 3
В итоге сохраняется качество (этого малюсенькогог) изображения.
c1.200.jpg
c1.200.jpg (15.44 КБ) 1437 просмотров

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: взаимные преобразования JPG и PNG

Непрочитанное сообщение Olej » 16 дек 2019, 19:41

Вообще, как утверждается:
Команда convert может быть использована более чем в 100 различных опциях.
Разбираемся с этим делом так:

Код: Выделить всё

olej@ACER:~$ convert --help
Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP 
Delegates (built-in): bzlib djvu fftw fontconfig freetype heic jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png tiff webp wmf x xml zlib
Usage: convert-im6.q16 [options ...] file [ [options ...] file ...] [options ...] file

Image Settings:
...

Ответить

Вернуться в «Графика»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя