Размер изображения WebP уменьшите используя ImageMagick MagickGetImageBlob - PullRequest
0 голосов
/ 04 января 2019

Я сталкиваюсь с этой странной проблемой, когда пытаюсь прочитать BLOB-изображение WebP через MagickReadImageBlob , а в следующей строке я просто пытаюсь получить тот же самый BLOB-объект, используя MagickGetImageBlob . Итак, мой последний размер капли странно уменьшается. Итак, кто-нибудь может объяснить это поведение?

Я использую версию: ImageMagick 6.9.8-10 Q16 x86_64 on ubuntu 16.04

1 Ответ

0 голосов
/ 04 января 2019

Итак, кто-нибудь может объяснить это поведение?

MagickReadImageBlob декодирует буфер файла изображения в растр аутентифицированных пикселей.

MagickGetImageBlob кодирует растр обратно в буфер файла изображения.

Формат WebP может быть как с потерями, так и без потерь, а также реализовывать различные методы сжатия во время процесса кодирования. Более чем возможно, что процедура кодирования просто нашла другой способ сохранить растр, чем предыдущий. Ваша версия ImageMagick имеет квантовую глубину 16 (Q16), поэтому декодирование / масштабирование 24-битного Color + 8-битного альфа до Q16 WebP может повлиять на некоторые варианты кодирования. Попробуйте установить MagickSetImageDepth(wand, 8), чтобы увидеть, поможет ли это.

...