函式名: ImagickDraw::setClipPath()
函式描述: 此函式用於設定剪裁路徑,將影象限制在指定的路徑內部。
適用版本: Imagick 3.4.0 及以上版本
用法:
bool ImagickDraw::setClipPath ( string $clip_mask )
引數:
- $clip_mask:剪裁路徑的名稱。
返回值:
- 成功時返回 true,失敗時返回 false。
示例:
// 建立一個 ImagickDraw 物件
$draw = new ImagickDraw();
// 設定剪裁路徑
$draw->setClipPath('path1');
// 新增一個圓形
$draw->circle(100, 100, 50, 0);
// 建立一個 Imagick 物件
$image = new Imagick();
$image->newImage(200, 200, 'white');
// 應用剪裁路徑並繪製影象
$image->drawImage($draw);
// 顯示影象
header('Content-type: image/png');
echo $image;
注意事項:
- 在使用此函式之前,必須先建立一個 ImagickDraw 物件和 Imagick 物件。
- 剪裁路徑可以是一個已經存在的路徑或者自定義的路徑。
- 透過呼叫
$draw->setClipPath('none')
可以取消剪裁路徑的設定。 - 剪裁路徑只能應用於透過
$image->drawImage($draw)
繪製的影象,不能應用於直接載入的影象。 - 剪裁路徑的名稱可以是任意字串,但要確保在同一個 ImagickDraw 物件中唯一。
- 剪裁路徑可以是一個簡單的形狀(如圓形或矩形),也可以是一個複雜的路徑(如由多個點組成的路徑)。
- 在使用剪裁路徑時,需要確保 Imagick 編譯時啟用了 SVG 支援。
- 剪裁路徑的功能在 Imagick 3.4.0 版本中被引入,因此需要確保你的 PHP 環境中安裝了這個版本或更高版本的 Imagick 擴充套件。