Dutch PHP Conference 2025 - Call For Papers

Imagick::evaluateImage

(PECL imagick 2, PECL imagick 3)

Imagick::evaluateImageAplica uma expressão a uma imagem

Descrição

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

Aplica uma expressão aritmética, relacional ou lógica a uma imagem. Use esses operadores para clarear ou escurecer uma imagem, para aumentar ou diminuir o contraste de uma imagem ou para produzir o “negativo” de uma imagem.

Parâmetros

op

O operador de avaliação

constant

O valor do operador

channel

Forneça qualquer constante de canal válida para o modo de canal. Para aplicar a mais de um canal, combine constantes de tipo de canal usando operadores bit a bit. Consulte esta lista de constantes de canal.

Valor Retornado

Retorna true em caso de sucesso.

Erros/Exceções

Lança uma exceção ImagickException em caso de erro.

Exemplos

Exemplo #1 Usando Imagick::evaluateImage()

Usando evaluateImage para reduzir a opacidade em uma imagem.

<?php
// Cria novo objeto com a imagem
$im = new Imagick('example-alpha.png');

// Reduz alfa em 50%
$im->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);

// Exibe a imagem
header("Content-Type: image/png");
echo
$im;
?>

add a note

User Contributed Notes 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