ConFoo 2025

Imagick::evaluateImage

(PECL imagick 2, PECL imagick 3)

Imagick::evaluateImageApplique une expression à une image

Description

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

Applique une expression arithmétique, relationnelle ou logique à une image. Utilisez ces opérateurs pour éclaircir ou assombrir une image, pour augmenter ou réduire le contraste, ou encore, produire une image inversée.

Liste de paramètres

op

L'opérateur d'évaluation

constant

La valeur de l'opérateur

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Retourne true en cas de succès.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::evaluateImage()

Utilisation de evaluateImage pour réduire l'opacité d'une image.

<?php
// Création d'un nouvel objet avec l'image
$im = new Imagick('example-alpha.png');

// Réduction de l'alpha de 50%
$im->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);

// Affichage de l'image
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