PHP 8.4.1 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_DIVIDE, 2, Imagick::CHANNEL_ALPHA);

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

Добавить

Примечания пользователей 1 note

up
1
nils dot rocine at gmail dot com
12 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