Сжатие изображений больше - PullRequest
0 голосов
/ 03 октября 2018

Можно ли сжимать изображения jpg и / или png более без потерь?Я нашел сайты, которые делают это, но я предположил, что все эти файлы были сжаты одинаково.

Под сжатием я подразумеваю, что это все еще файл jpg или png, который может прочитать любая графическая программа, норазмер файла меньше.

И если да, то как лучше всего использовать Java и C # для дополнительного сжатия?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Все сжатие JPEG по своей природе с потерями.Преобразование RGB <-> YCrCb часто требует изменения значений, поскольку гаммы цветовых пространств различны.Сжатие JPEG включает в себя значения с плавающей запятой, округленные до целых.

Существует множество настроек JPEG, доступных для компенсации потерь по размеру.Доступ к ним у вас или нет, зависит от вашего кодировщика.

В случае PNG единственная реальная настройка размера - это то, как далеко кодировщик будет искать в окне LZ совпадения.В PNG это компромисс между скоростью сжатия и размером.

0 голосов
/ 03 октября 2018

Существует несколько алгоритмов сжатия, некоторые из которых достигают лучших результатов, чем другие на разных изображениях.Я не уверен, что именно ваш вопрос хочет знать, когда вы смешиваете Java и C # со сжатием изображений.

Недавно разработчики Google выпустили новый формат , названный WebP .Они утверждают, что этот формат может обеспечить на 26% меньше изображений без потерь по сравнению с PNG, а с потерями еще лучше по сравнению с JPEG, однако поддержка WebP все еще весьма ограничена.

Что вы можете сделать, так это использовать изображение HTMLэлемент и доставить альтернативный WebP с отступлением к файлу PNG или JPEF.

вот пример:

<picture>
  <source srcset="img/awesomeWebPImage.webp" type="image/webp">
  <source srcset="img/creakyOldJPEG.jpg" type="image/jpeg"> 
  <img src="img/creakyOldJPEG.jpg" alt="Alt Text!">
</picture>

Вот хорошая статья об использовании WebP: https://css -tricks.com/using-webp-images/

...