函式名:ImagickDraw::affine()
適用版本:Imagick 3.0.0 及以上版本
用法:該函式用於應用仿射變換矩陣到當前的ImagickDraw物件上。仿射變換可以用於旋轉、縮放、平移和剪下影象。
語法:public ImagickDraw::affine ( array $affine )
引數:
- $affine:一個包含6個元素的陣列,表示仿射變換矩陣。矩陣的元素按照以下順序傳遞:sx, rx, ry, sy, tx, ty。其中,sx 和 sy 表示縮放因子,rx 和 ry 表示旋轉角度的正弦和餘弦值,tx 和 ty 表示平移值。
返回值:該函式沒有返回值。
示例:
// 建立一個ImagickDraw物件
$draw = new ImagickDraw();
// 設定仿射變換矩陣
$affine = array(
2, 0.5, 0.5, 1, 100, 50
);
// 應用仿射變換到ImagickDraw物件
$draw->affine($affine);
// 建立一個Imagick物件
$image = new Imagick();
// 為Imagick物件設定畫布和背景顏色
$image->newImage(200, 200, 'white');
// 為Imagick物件關聯ImagickDraw物件
$image->drawImage($draw);
// 顯示影象
$image->setImageFormat("png");
header("Content-Type: image/png");
echo $image;
上述示例建立了一個200x200的白色背景影象,並應用了一個仿射變換矩陣到ImagickDraw物件。然後將ImagickDraw物件關聯到Imagick物件上,並最終顯示生成的影象。在示例中,仿射變換矩陣將影象進行了縮放、旋轉和平移操作。