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

phpserver side programmingprogramming

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

语法

array imageaffinematrixget(int $type, combined $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 − 如果 type 为 IMG_AFFINE_TRANSLATE 或 IMG_AFFINE_SCALE,则 options 必须是一个包含键 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
)

相关文章