Метод сжатия без потерь не должен быть одного уровня качества.Я имею в виду, что некоторые методы сжатия без потерь имеют некоторые параметры для выбора компромисса между скоростью и коэффициентом сжатия.Это зависит от автора.
Что касается сжатия PNG, на самом деле это набор фильтров и алгоритм дефляции.Учитывая, что deflate имеет избыточную ступень кодирования (например, два разных компрессора могут выдавать совершенно разные выходные данные, но все же они могут быть распакованы любым допустимым декомпрессором), неудивительно, что несколько программ выводят разные PNG.Обратите внимание, что я все еще не принимаю во внимание фильтры.Существует несколько фильтров, и «лучшего» фильтра нет, т. Е. Его качество зависит от изображения.
Из-за его избыточности некоторые люди пишут оптимизаторы PNG, которые принимают обычный PNG в качестве входного для создания меньшего PNG без какого-либо восприятияпотеря.Некоторые из них применяют некоторые приемы, такие как заполнение полностью прозрачной области некоторыми предсказуемыми цветами, чтобы увеличить сжатие.Но, как правило, они настраивают параметры грубо.
Теперь, самый простой ответ на ваш вопрос может быть, что у вас есть два варианта:
- Если вы собираетесьЗапустите свой исполняемый файл в среде рабочего стола, вы можете использовать один из этих инструментов в качестве оптимизатора.Но в виртуальном хостинге вы не можете использовать их из-за возможных привилегий.
- Вы можете написать свою собственную программу записи PNG в .NET, которая учитывает некоторую настройку параметров грубой силы.