English | 简体中文 | 繁體中文
查询

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函数
分享链接