PHP 7.4.22 Released!

Imagick::evaluateImage

(PECL imagick 2, PECL imagick 3)

Imagick::evaluateImageПрименяет выражение к изображению

Описание

public Imagick::evaluateImage(int $op, float $constant, int $channel = Imagick::CHANNEL_DEFAULT): bool

Применяет к изображению арифметическое, реляционное или логическое выражение. Используйте эти операторы для осветления или затемнения изображения, для увеличения или уменьшения контрастности изображения или для создания "негатива" изображения.

Список параметров

op

Оператор вычисления.

constant

Значение оператора.

channel

Укажите любую константу CHANNEL, которая подходит для вашего режима канала. Для применения более чем к одному каналу объедините константы типа CHANNEL с помощью побитовых операторов.Обратитесь к этому списку констант CHANNEL.

Возвращаемые значения

В случае успешной работы возвращает true.

Ошибки

Вызывает ImagickException при ошибке.

Примеры

Пример #1 Пример использования Imagick::evaluateImage()

Использование evaluateImage для уменьшения непрозрачности изображения.

<?php
// Создание нового объекта с изображением
$im = new Imagick('example-alpha.png');

// Уменьшение значнения альфа-канала на 50%
$im->evaluateImage(Imagick::EVALUATE_DIVIDE2Imagick::CHANNEL_ALPHA);

// Вывод изображения
header("Content-Type: image/png");
echo 
$im;
?>

add a note add a note

User Contributed Notes 1 note

up
1
nils dot rocine at gmail dot com
9 years ago
What worked for me to convert a JPG source file to a semi-transparent PNG.

<?php
    $srcImagick
= new Imagick($srcPath);
   
   
$pathTo50Perc = 'transparent1.png';
   
   
$srcImagick->setImageAlphaChannel(Imagick::ALPHACHANNEL_OPAQUE);
   
   
$srcImagick->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);

   
$srcImagick->writeImage($pathTo50Perc);
?>
To Top