Created attachment 16266 [details] Невозможно загрузить метаданные. Стенд, обновленный до sisyphus: kworkstation-10.3-x86-64 Версия пакета: ImageMagick-7.1.1.31-alt1 Шаги воспроизведения: Необходимо тестовое PNG-изображение (назвать "file.png") 1) Установить пакеты: # apt-get install -y ImageMagick php8.2{,-imagick,-fpm-fcgi} apache2-mod_php8.2 2) Создать тестовый скрипт: $ cat > php8.2-imagick.php << "EOF" <?php $im = new Imagick("file.png"); $im->thumbnailImage(200, null); $im->borderImage(new ImagickPixel("white"), 5, 5); $reflection = $im->clone(); $reflection->flipImage(); $gradient = new Imagick(); $gradient->newPseudoImage($reflection->getImageWidth() + 10, $reflection->getImageHeight() + 10, "gradient:transparent-black"); $reflection->compositeImage($gradient, imagick::COMPOSITE_OVER, 0, 0); $reflection->setImageOpacity( 0.3 ); $canvas = new Imagick(); $width = $im->getImageWidth() + 40; $height = ($im->getImageHeight() * 2) + 30; $canvas->newImage($width, $height, new ImagickPixel("black")); $canvas->setImageFormat("png"); $canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10); $canvas->compositeImage($reflection, imagick::COMPOSITE_OVER, 20, $im->getImageHeight() + 10); $canvas->writeImage('php8.2-imagick-result.png'); echo $canvas; ?> EOF 3) Выполнить тестовый скрипт: $ php8.2 php8.2-imagick.php > php8.2-imagick-result-2.png 4) Открыть файл php8.2-imagick-result.png Фактический результат: При выполнении скрипта получаем ошибку: PHP Fatal error: Uncaught Error: Call to undefined method Imagick::setImageOpacity() in /home/test/php8.2-imagick.php:10 При попытке открытия изображения: Невозможно загрузить метаданные. Ожидаемый результат: Скрипт отрабатывает без ошибок. Получаем изображение с его отображением на черном фоне. Ошибка воспроизводится в p11 (ImageMagick-7.1.1.31-alt1). Ошибка НЕ воспроизводится в p10 (ImageMagick-6.9.13.9-alt1).
https://pecl.php.net/package-changelog.php?package=imagick&release=3.4.3