Я использую ImageMagick, чтобы программно уменьшить размер изображения в формате PNG, уменьшая цвета в изображении. Я получаю изображения уникальных цветов и делю это на 2. Затем я присваиваю это значение опции -colors следующим образом:
переменная = уникальные цвета / 2
convert image.png -colors variable -depth 8
Я думал, что это существенно уменьшит размер изображения, но вместо этого увеличит размер изображений на диске. Может кто-нибудь пролить свет на это.
Спасибо.
РЕДАКТИРОВАТЬ: Оказывается, проблема была дизеринг. Дизеринг помогает вашим уменьшенным цветным изображениям больше походить на оригиналы, но увеличивает размер изображения. Чтобы удалить дизеринг в ImageMagick, добавьте + дизеринг к вашей команде.
Пример
convert CandyBar.png + dither -colors 300 -depth 8 lessCandyBar.png