Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP – ดึง Affine Transformation Matrix ด้วย imageaffinematrixget()

ฟังก์ชัน 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
)