大多数 PHP 图像处理函数都是基于 GD(Graphics Draw)库实现的,因此你需要确保你的 PHP 中已经加载了 GD 扩展。
某些图像格式需要额外的库支持,比如 PNG 图像需要 libpng 库,JPEG 图像需要 libjpeg 库等。
图像创建与加载
imagecreatefromjpeg():从 JPEG 文件创建一个新图像资源。
imagecreatefrompng():从 PNG 文件创建一个新图像资源。
imagecreatefromgif():从 GIF 文件创建一个新图像资源。
imagecreatefromstring():从字符串中创建一个新图像资源。
imagecreatefromwebp():从 WebP 文件创建一个新图像资源。
imagecreatefrombmp():从 BMP 文件创建一个新图像资源。
imagecreatefromgd2():从 GD2 文件创建一个新图像资源。
imagecreatefromgd2part():从 GD2 文件的一部分创建一个新图像资源。
imagecreatefromwbmp():从 WBMP 文件创建一个新图像资源。
imagecreatefromxbm():从 XBM 文件创建一个新图像资源。
图像输出与保存
imagejpeg():将图像输出到浏览器或文件中(JPEG 格式)。
imagepng():将图像输出到浏览器或文件中(PNG 格式)。
imagegif():将图像输出到浏览器或文件中(GIF 格式)。
imagewebp():将图像输出到浏览器或文件中(WebP 格式)。
imagebmp():将图像输出到浏览器或文件中(BMP 格式)。
imagegd2():将图像输出到浏览器或文件中(GD2 格式)。
imagegd():将图像输出到浏览器或文件中(GD 格式)。
imagewbmp():将图像输出到浏览器或文件中(WBMP 格式)。
imagexbm():将图像输出到浏览器或文件中(XBM 格式)。
imagejpeg():将图像保存到文件(JPEG 格式)。
imagepng():将图像保存到文件(PNG 格式)。
imagegif():将图像保存到文件(GIF 格式)。
图像处理与编辑
imagecopyresampled():重采样拷贝部分图像并调整大小。
imagecopyresized():拷贝部分图像并调整大小。
imagecrop():剪切图像。
imageflip():翻转图像。
imagefilter():应用滤镜到图像。
imageflip():水平或垂直翻转图像。
imagegrayscale():将图像转换为灰度。
imageinterlace():设置图像的隔行扫描格式。
imagepalettecopy():拷贝调色板的一部分。
imagerotate():对图像进行旋转。
imagescale():按比例调整图像大小。
imagesetpixel():设置图像中指定位置的像素值。
imagedestroy():释放图像资源所占内存的函数。
注:在使用 GD 库创建图像后,当不再需要这些图像资源时,应该调用 imagedestroy()
来释放资源,以避免内存泄漏和资源浪费。
将图片输出到浏览器
Header(“Content-Type: image/png”);
imagepng($im);
当使用 imagepng() 将图像数据输出到浏览器时,它会将 PNG 格式的图像数据直接发送给浏览器,使得浏览器可以解析和显示图像。
这种方式适用于动态生成图像的场景,比如验证码、图表等,可以直接在 HTML 页面中使用 <img> 标签引用 PHP 脚本来动态生成图像。
将图片保存到文件
imagepng($im, $fileName);
当使用 imagepng() 将图像数据保存到文件时,它会将 PNG 格式的图像数据写入到指定的文件中,而不会发送到浏览器。
这种方式适用于需要在服务器上生成图像文件并将其保存到磁盘上的场景,比如用户上传的图像文件或者动态生成的图像文件。