ฟังก์ชัน imageaffinematrixget() เป็น built-in function ใน PHP ใช้ดึง affine transformation matrix ใช้บ่อยใน linear algebra และ computer graphics
รูปแบบการใช้งาน (Syntax)
array|false imageaffinematrixget(int $type, array|float $options)
พารามิเตอร์
- $type – integer constant ของ IMG_AFFINE:
- IMG_AFFINE_TRANSLATE – การเลื่อน (translation)
- IMG_AFFINE_SCALE – การขยาย/ย่อ (scaling)
- IMG_AFFINE_ROTATE – การหมุน (rotation)
- IMG_AFFINE_SHEAR_HORIZONTAL – การเฉือนแนวนอน
- IMG_AFFINE_SHEAR_VERTICAL – การเฉือนแนวตั้ง
- $options – ตัวเลือกตาม type:
- IMG_AFFINE_TRANSLATE หรือ IMG_AFFINE_SCALE: array มี keys x, y (float)
- IMG_AFFINE_ROTATE, IMG_AFFINE_SHEAR_HORIZONTAL, IMG_AFFINE_SHEAR_VERTICAL: float ระบุมุม (องศา)
ค่าที่คืนกลับ
คืน affine transformation matrix เป็น array keys 0-5 ค่า float คืน false หากล้มเหลว
ตัวอย่าง 1: ใช้ IMG_AFFINE_SCALE
<?php $matrix_scale = imageaffinematrixget(IMG_AFFINE_SCALE, ['x' => 2, 'y' => 3]); print_r($matrix_scale); ?>
ผลลัพธ์
Array ( [0] => 2 [1] => 0 [2] => 0 [3] => 3 [4] => 0 [5] => 0 )
ตัวอย่าง 2: ใช้ IMG_AFFINE_SHEAR_VERTICAL
<?php
$angle = 280;
$matrix_vertical = imageaffinematrixget(IMG_AFFINE_SHEAR_VERTICAL, $angle);
print("" . print_r($matrix_vertical, true) . "
");
?>
ผลลัพธ์
Array ( [0] => 1 [1] => -5.6712818196177 [2] => 0 [3] => 1 [4] => 0 [5] => 0 )