查詢

Imagick::writeImage()函式—用法及示例

「 將Imagick物件儲存為指定格式的影象檔案 」


函式名: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()方法來設定當前幀的索引。
補充糾錯
熱門PHP函式
分享連結