如何使用 imageaffinematrixget() 在 PHP 中获取仿射变换矩阵?

imageaffinematrixget()是 PHP 中的一个内置函数,用于获取仿射变换矩阵。该函数常用于线性代数和计算机图形学。

语法

array imageaffinematrixget(int $type, mixed $options)

参数

imageaffinematrixget()只接受两个参数:$type$options

  • $type - $type 参数指定 IMG_AFFINE 常量的整数。

    • IMG_AFFINE_TRANSLATE

    • IMG_AFFINE_SCALE

    • IMG_AFFINE_ROTATE

    • IMG_AFFINE_SHEAR_HORIZONTAL

    • IMG_AFFINE_SHEAR_VERTICAL

  • $options - 如果类型是 IMG_AFFINE_TRANSLATE 或 IMG_AFFINE_SCALE,则选项必须是一个带有键 x 和 y 的数组,都具有浮点值。如果类型是 IMG_AFFINE_ROTATE、IMG_AFFINE_SHEAR_HORIZONTAL 或 IMG_AFFINE_SHEAR_VERTICAL,则选项必须是指定角度的浮点数。

返回值

它返回一个仿射变换矩阵,一个包含 0 到 5 键和浮点值的数组。失败时,它返回 false。

示例 1:使用 IMG_AFFINE_SCALE

<?php
   $matrix_scale = imageaffinematrixget(IMG_AFFINE_SCALE, array('x' => 2, 'y' => 3));
   print_r($matrix_scale);
?>
输出结果
Array
(
   [0] => 2
   [1] => 0
   [2] => 0
   [3] => 3
   [4] => 0
   [5] => 0
)

示例 2

<?php
   $angle = 280;
   
   // 使用 imageaffinematrixget() 函数获取图像仿射矩阵
   $matrix_vertical = imageaffinematrixget(IMG_AFFINE_SHEAR_VERTICAL, $angle);
   
   // 输出矩阵值
   print("<pre>".print_r($matrix_vertical, true)."</pre>");
?>
输出结果
Array
(
   [0] => 1
   [1] => -5.6712818196177
   [2] => 0
   [3] => 1
   [4] => 0
   [5] => 0
)

猜你喜欢