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