Aplica uma função na imagem

# Imagick::functionImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::functionImage — Aplica uma função na imagem

### Descrição

public function Imagick::functionImage(int `$function`, array `$arguments`, int `$channel` = Imagick::CHANNEL_DEFAULT): bool

Aplica uma expressão aritmética, relacional ou lógica a uma pseudoimagem.

Consulte também » Exemplos do ImageMagick v6 - Transformações de Imagens — Função, Avaliação de Multi-Argumentos

Este método estará disponível se a extensão Imagick tiver sido compilada com a ImageMagick versão 6.4.9 ou superior.

### Parâmetros

`function`

  Consulte a lista de constantes de função

`arguments`

  Array de argumentos a serem passados ​​para esta função.

### Valor Retornado

Retorna `true` em caso de sucesso.

### Erros/Exceções

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

### Exemplos

Exemplo #1 Cria um gradiente senoidal

    <?php
    $imagick = new Imagick();
    $imagick->newPseudoImage(200, 200, 'gradient:black-white');
    $arguments = array(3, -90);
    $imagick->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);

    header("Content-Type: image/png");
    $imagick->setImageFormat("png");
    echo $imagick->getImageBlob();
    ?>

O exemplo acima produzirá algo semelhante a:

Exemplo #2 Cria um gradiente a partir do polinômio (4x^2 - 4x + 1)

    <?php
    $imagick = new Imagick();
    $imagick->newPseudoImage(200, 200, 'gradient:black-white');
    $arguments = array(4, -4, 1);
    $imagick->functionImage(Imagick::FUNCTION_POLYNOMIAL, $arguments);

    header("Content-Type: image/png");
    $imagick->setimageformat("png");
    echo $imagick->getImageBlob();
    ?>

O exemplo acima produzirá algo semelhante a:

Exemplo #3 Cria um gradiente complexo a partir do polinômio (4x^2 - 4x^2 + 1) modulado por um gradiente senoidal

    <?php
    $imagick1 = new Imagick();
    $imagick1->newPseudoImage(200, 200, 'gradient:black-white');
    $arguments = array(9, -90);
    $imagick1->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);

    $imagick2 = new Imagick();
    $imagick2->newPseudoImage(200, 200, 'gradient:black-white');
    $arguments = array(0.5, 0);
    $imagick2->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);
    $imagick1->compositeimage($imagick2, Imagick::COMPOSITE_MULTIPLY, 0, 0);

    header("Content-Type: image/png");
    $imagick1->setImageFormat("png");
    echo $imagick1->getImageBlob();
    ?>

O exemplo acima produzirá algo semelhante a:

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open