函数名称:imagebmp()
适用版本:PHP 7.2.0及以上版本
用法:imagebmp(resource $image, string $filename = '', bool $compressed = true) : bool
说明:imagebmp()函数用于将GD图像资源保存为BMP(位图)格式的文件。
参数:
- $image:GD图像资源。可通过imagecreatefromjpeg()、imagecreatefrompng()等函数创建。
- $filename(可选):保存的文件名,如果为空,则直接输出到浏览器。注意文件名必须以.bmp为后缀。
- $compressed(可选):是否使用压缩格式保存BMP文件,默认为true。
返回值:成功时返回true,失败时返回false。
示例:
// 创建一个宽度为200、高度为100的新图像
$image = imagecreatetruecolor(200, 100);
// 设置背景颜色为红色
$bgColor = imagecolorallocate($image, 255, 0, 0);
imagefill($image, 0, 0, $bgColor);
// 在图像上绘制一段文字
$textColor = imagecolorallocate($image, 255, 255, 255);
$text = 'Hello, PHP!';
imagettftext($image, 20, 0, 50, 50, $textColor, 'arial.ttf', $text);
// 保存图像为BMP文件
$filename = 'output.bmp';
if (imagebmp($image, $filename)) {
echo '图像已成功保存为BMP文件:' . $filename;
} else {
echo '保存图像为BMP文件失败!';
}
// 输出图像到浏览器
header('Content-Type: image/bmp');
imagebmp($image);
imagedestroy($image);
注意事项:
- 在使用imagebmp()函数前,需要先创建一个GD图像资源(如imagecreatetruecolor())。
- 如果保存的文件名为空,则直接输出到浏览器。但需要设置正确的Content-Type头信息,以确保浏览器正确解析图像数据。
- BMP文件保存时,如果使用压缩格式($compressed为true),则文件大小会更小,但读取时会稍慢一些。如果不需要压缩,则设置$compressed为false。