📅  最后修改于: 2023-12-03 15:03:45.539000             🧑  作者: Mango
如果你需要在PHP应用程序中操纵图像,那么GD库是你的答案。GD库是一个开源的库,提供了可以用来创建和操作图像的函数集。本文将为你提供GD库的完整参考,包括各种GD函数的用途和参数列表。
GD库提供了一组函数,可以用来创建或修改图像。这些函数可以用来进行以下操作:
如果你想在你的PHP应用使用GD库,你需要确保已经安装了GD库扩展。要安装GD库扩展,请查看你的操作系统/环境的文档,例如:
sudo apt-get install php-gd
sudo yum install php-gd
php.ini
中取消注释 ;extension=gd2
并重新启动Apache下面是创建和打开图像的函数列表:
函数名 | 描述
---|---
imagecreate($width, $height)
| 创建一个指定大小的空白图像
imagecreatefromjpeg($filename)
| 打开一个JPEG图像,并将其解码为图像标识符
imagecreatefrompng($filename)
| 打开一个PNG图像,并将其解码为图像标识符
imagecreatefromgif($filename)
| 打开一个GIF图像,并将其解码为图像标识符
imagecreatefrombmp($filename)
| 打开一个BMP图像,并将其解码为图像标识符
创建一个指定大小的空白图像:
$width = 300;
$height = 200;
$image = imagecreate($width, $height);
// 输出到浏览器
header('Content-Type: image/jpeg');
imagejpeg($image);
// 保存到文件
imagejpeg($image, 'example.jpg');
打开一个已有的图像:
$filename = 'example.jpg';
$image = imagecreatefromjpeg($filename);
下面是一些常用的编辑和修改图像的函数:
函数名 | 描述
---|---
imagesavealpha($image, $saveflag)
| 设置图像标识符的alpha通道
imagecolorallocate($image, $red, $green, $blue)
| 为图像分配一种颜色
imageline($image, $x1, $y1, $x2, $y2, $color)
| 在图像上画一条线
imagestring($image, $font, $x, $y, $text, $color)
| 在图像上输出一个字符串
imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)
| 重采样拷贝部分图像并调整大小到另一个图像中
为图像设置alpha通道:
// 创建一个空白的PNG图像
$width = 300;
$height = 200;
$image = imagecreatetruecolor($width, $height);
imagesavealpha($image, true);
// 使图像透明
$transparancy = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparancy);
// 画一个半透明的红色矩形
$red = imagecolorallocatealpha($image, 255, 0, 0, 63);
imagefilledrectangle($image, 50, 50, 200, 150, $red);
// 输出到浏览器
header('Content-Type: image/png');
imagepng($image);
// 保存到文件
imagepng($image, 'example.png');
画一条线:
// 创建一个空白的图像
$width = 300;
$height = 200;
$image = imagecreate($width, $height);
// 画一条黑色的线
$black = imagecolorallocate($image, 0, 0, 0);
$x1 = 0;
$y1 = 0;
$x2 = $width;
$y2 = $height;
imageline($image, $x1, $y1, $x2, $y2, $black);
// 输出到浏览器
header('Content-Type: image/jpeg');
imagejpeg($image);
// 保存到文件
imagejpeg($image, 'example.jpg');
在图像上输出一个字符串:
// 创建一个空白的图像
$width = 300;
$height = 200;
$image = imagecreate($width, $height);
// 输出一个字符串
$black = imagecolorallocate($image, 0, 0, 0);
$x = 50;
$y = 100;
$string = 'Hello, world!';
imagestring($image, 5, $x, $y, $string, $black);
// 输出到浏览器
header('Content-Type: image/jpeg');
imagejpeg($image);
// 保存到文件
imagejpeg($image, 'example.jpg');
重采样拷贝部分图像并调整大小到另一个图像中:
// 打开两张图片
$src_filename = 'photo.jpg';
$src_image = imagecreatefromjpeg($src_filename);
$dst_filename = 'thumbnail.jpg';
$dst_image = imagecreatetruecolor(100, 100);
// 复制并缩放图像
imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, 100, 100, imagesx($src_image), imagesy($src_image));
// 输出到浏览器
header('Content-Type: image/jpeg');
imagejpeg($dst_image);
// 保存到文件
imagejpeg($dst_image, $dst_filename);
在本文中,我们详细介绍了GD库及其函数。这些函数可以用来创建、编辑、修改和保存图像。通过本文,你应该能够了解如何使用GD库在你的PHP应用程序中进行图像操作。