Сравниваю полноцветные или 256-цветные PNG без прозрачности. Раньше минимальная команда: compare img1.png img2.png img3.png выдавала бледную картинку с выделением различий красным цветом. После обновления до 6.9.9.23 выделений стало гораздо меньше. Многие изменения перестали выделяться. В исходниках обнаружил следующее изменение: > commit 3a1252ca71acdf19f9231854d8a702e427b4baa0 > Author: Anton Farygin <rider@altlinux.com> > Date: Thu Oct 19 07:56:18 2017 +0300 > > 6.9.9.20 > > diff --git a/ImageMagick/magick/compare.c b/ImageMagick/magick/compare.c > index fdc9a5c..7a5d22c 100644 > - Sa=QuantumScale*GetPixelAlpha(p); > - Da=QuantumScale*GetPixelAlpha(q); > + Sa=QuantumScale*(image->matte != MagickFalse ? GetPixelAlpha(p) : > + 1.0); > + Da=QuantumScale*(image->matte != MagickFalse ? GetPixelAlpha(q) : > + 1.0); Действительно, после добавления опции -matte все исправилось, но что бы это означало - я не знаю.
Created attachment 7305 [details] картинки для тестов m1.png и m2.png -- исходные картинки с различиями. o1.png -- результат команды "compare m1.png m2.png o1.png" -- новое странное поведение compare. o2.png -- результат команды "compare -matte m1.png m2.png o1.png" -- правильное поведение.
На текущем Sisyphus вывод у скрипта (две картинки) абсолютно идентичные и красным подсвечена разница.
Да, все работает правильно. Закрываю.