📜  PHP | imagick functionImage()函数(1)

📅  最后修改于: 2023-12-03 15:18:24.080000             🧑  作者: Mango

PHP | imagick functionImage()函数

functionImage()是imagick扩展的一个函数,用于从指定的图像文件或者图片字符串中创建一个新的Imagick对象。该函数支持的图片格式非常广泛,包括常见的JPEG、PNG、GIF等格式,以及少数人知的格式如BMP、ICO、PCX等。

函数原型
public Imagick Imagick::functionImage(int $function, array $arguments, int $channel = Imagick::CHANNEL_DEFAULT)

函数参数及其说明:

  • $function
    • 必选参数,整数类型,表示要对图像进行的操作。可选值如下:
      • Imagick::FUNCTION_POLYNOMIAL
      • Imagick::FUNCTION_SINUSOID
      • Imagick::FUNCTION_ARCSIN
      • Imagick::FUNCTION_ARCTAN
      • Imagick::FUNCTION_EXPONENTIAL
      • Imagick::FUNCTION_LOGARITHM
      • Imagick::FUNCTION_SQUARE_ROOT
      • Imagick::FUNCTION_UNDEFINED
  • $arguments
    • 必选参数,表示用于函数操作的参数。每个函数的参数需要按特定的格式提供。
  • $channel
    • 可选参数,表示目标通道,默认为Imagick::CHANNEL_DEFAULT
功能说明

下面是各个函数的具体说明以及所需参数:

Imagick::FUNCTION_POLYNOMIAL

对图像进行多项式处理。

参数:

  • 参数1:数组,用于确定多项式的系数,按一定的顺序提供。

例子:

$image = new Imagick('example.jpg');
$arguments = [0, 0, 0, 2, 1];
$image->functionImage(Imagick::FUNCTION_POLYNOMIAL, $arguments);
Imagick::FUNCTION_SINUSOID

对图像应用正弦函数。

参数:

  • 参数1:数组,用于确定正弦函数的系数,按一定的顺序提供。
  • 参数2:整数,用于控制正弦函数的局部幅度。

例子:

$image = new Imagick('example.jpg');
$arguments = [2, 0.5, -0.25, 0.1];
$image->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);
Imagick::FUNCTION_ARCSIN

对图像应用反正弦函数。

参数:

  • 参数1:整数,用于控制反正弦函数的局部幅度。

例子:

$image = new Imagick('example.jpg');
$image->functionImage(Imagick::FUNCTION_ARCSIN, [0.5]);
Imagick::FUNCTION_ARCTAN

对图像应用反正切函数。

参数:

  • 参数1:整数,用于控制反正切函数的局部幅度。

例子:

$image = new Imagick('example.jpg');
$image->functionImage(Imagick::FUNCTION_ARCTAN, [0.5]);
Imagick::FUNCTION_EXPONENTIAL

对图像进行指数函数处理。

参数:

  • 参数1:整数,用于控制指数函数的局部幅度。
  • 参数2:整数,用于控制指数函数的整体幅度。
  • 参数3:整数,用于控制指数函数的中心位置。

例子:

$image = new Imagick('example.jpg');
$arguments = [0.5, 0.5, 0.5];
$image->functionImage(Imagick::FUNCTION_EXPONENTIAL, $arguments);
Imagick::FUNCTION_LOGARITHM

对图像应用对数函数。

参数:

  • 参数1:整数,用于控制对数函数的局部幅度。
  • 参数2:整数,用于控制对数函数的整体幅度。
  • 参数3:整数,用于控制对数函数的中心位置。

例子:

$image = new Imagick('example.jpg');
$arguments = [0.5, 0.5, 0.5];
$image->functionImage(Imagick::FUNCTION_LOGARITHM, $arguments);
Imagick::FUNCTION_SQUARE_ROOT

对图像进行平方根函数处理。

参数:

  • 参数1:整数,用于控制平方根函数的局部幅度。
  • 参数2:整数,用于控制平方根函数的整体幅度。
  • 参数3:整数,用于控制平方根函数的中心位置。

例子:

$image = new Imagick('example.jpg');
$arguments = [0.5, 0.5, 0.5];
$image->functionImage(Imagick::FUNCTION_SQUARE_ROOT, $arguments);
Imagick::FUNCTION_UNDEFINED

未定义函数。该函数可用于测试 imagick 函数库是否已正确加载。

例子:

$image = new Imagick('example.jpg');
$image->functionImage(Imagick::FUNCTION_UNDEFINED);
总结

functionImage()函数是一个功能强大、灵活多样的图像处理函数。通过调整函数参数,我们可以对图像进行各种复杂的处理,实现各种效果或变换。需要注意的是,不同的参数取值可能对不同输入图像产生不同的效果,因而需要仔细调试和尝试。