函式名:Imagick::writeImage()
函式描述:該函式用於將Imagick物件儲存為指定格式的影象檔案。
適用版本:該函式在Imagick擴充套件版本3.0.1及以上可用。
用法:bool Imagick::writeImage ( string $filename [, bool $all_frames = FALSE ] )
引數:
- $filename:儲存影象的檔名,可以包含完整的檔案路徑。
- $all_frames(可選):指定是否儲存所有幀,預設為FALSE。當處理多幀影象(如GIF或TIFF動畫)時,如果設定為TRUE,則會儲存所有幀;如果設定為FALSE,則只儲存當前幀。
返回值:
- 成功時返回TRUE,失敗時返回FALSE。
示例:
// 建立Imagick物件
$image = new Imagick('input.jpg');
// 將Imagick物件儲存為PNG格式的影象檔案
if ($image->writeImage('output.png')) {
echo '影象儲存成功!';
} else {
echo '影象儲存失敗!';
}
// 儲存GIF動畫的所有幀
$gif = new Imagick('animation.gif');
$gif->setIteratorIndex(0); // 設定為第一幀
$gif->writeImage('frame1.png');
$gif->setIteratorIndex(1); // 設定為第二幀
$gif->writeImage('frame2.png');
// 儲存當前幀
$current_frame = $gif->getIteratorIndex();
$gif->writeImage('current_frame.png');
// 儲存所有幀
$gif->writeImage('all_frames.gif', true);
注意事項:
- 在使用該函式之前,需要先安裝並啟用Imagick擴充套件。
- 要儲存多幀影象的所有幀,需要使用setIteratorIndex()方法來設定當前幀的索引。