php gd库运用

极客星芒
• 阅读 1540

1.gd库

php gd库的功能比较强大,主要用来做图片验证码生成,绘制图片,处理图片等等。下面是简单的gd库绘制图片验证码

代码示例

$size_x = 100;
$size_y = 100;

if(!isset($_GET['code'])) {
    $code = 'unknown';
}
$space_per_char = $size_x /(strlen($code)+1);

$img = imagecreatetruecolor($size_x,$size_y);
$background = imagecolorallocate($img,255,255,255);//白色
$border = imagecolorallocate($img,128,128,128);
$colors[] = imagecolorallocate($img,128,64,192);
$colors[] = imagecolorallocate($img,192,64,128);
$colors[] = imagecolorallocate($img,108,192,64);

imagefilledrectangle($img, 1, 1,$size_x - 2, $size_y - 2, $background);
imagerectangle($img, 1, 1,$size_x - 2, $size_y - 2, $border);

for($i = 0;$i < strlen($code);$i++) {
    $color = $colors[$i % count($colors)];
    imagettftext(
        $img,
        28 +rand(0,8),
        -20 +rand(0,40),
        ($i + 0.3) * $space_per_char,
        50 + rand(0,10),
        $color,
        'font/arial.ttf',
        $code{$i}
    );
    imageantialias($img,true);
}
header('Content-type:image/png');
imagepng($img);

结果
php gd库运用
即,known就绘制成图片。可以验证了

2.jpeg图片生成并保存在本地

$size_x = 100;
$size_y = 100;

if(!isset($_GET['code'])) {
    $code = 'unknown';
}
$space_per_char = $size_x /(strlen($code)+1);

$img = imagecreatetruecolor($size_x,$size_y);
$background = imagecolorallocate($img,255,255,255);//白色
$border = imagecolorallocate($img,128,128,128);
$colors[] = imagecolorallocate($img,128,64,192);
$colors[] = imagecolorallocate($img,192,64,128);
$colors[] = imagecolorallocate($img,108,192,64);

for ($i = 0;$i <= 1;$i++) {
    $x1 = rand(5,$size_x - 5);
    $y1 = rand(5,$size_y - 5);
    $x2 = $x1 - 4 + rand(0, 8);
    $y2 = $y1 - 4 + rand(0, 8);
    imageline($img, $x1, $y1, $x2, $y2, $colors[rand(0,count($colors)-1)]);
}
header('Content-Type:image/jpeg');
imagejpeg($img,'test.jpeg');

备注:在例子中还需要字体插件arial.ttf 可以在网上下载,并放到本地文件夹调用

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
ImageMagick安装配置说明
Imagemagick 是一个开源的图片处理软件,他使用命令行进行各种格式的图片的操作,可以运行在windows下和linux下。他的功能非常强大,能进行大小、格式、水印、标签等各种图象处理。在PHP中用imagemagick来缩图、添加水印比GD图象函数库生成的图像质量要好的多,看过imagemagick的缩图,GD的缩图只能用惨不忍睹来形容。摄影网站
Wesley13 Wesley13
3年前
20 你应该知道的PHP库
下面是一些非常有用的PHP(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Flib.csdn.net%2Fbase%2Fphp)类库,相信一定可以为你的WEB开发提供更好和更为快速的方法。图表库下面的类库可以让你很简的创建复杂的图表和图片。当然,它们需要GD库的支持。1
马尚 马尚
1年前
用Python实现简单的验证码识别
验证码是用于验证用户身份或防止机器人访问的常见安全措施之一。本文将介绍如何使用Python对简单的数字验证码进行识别,以及完整的代码示例。1.下载验证码图片首先,我们需要从网站上下载验证码图片。假设验证码图片的URL为https://example.com
马尚 马尚
1年前
用Python实现简单的验证码识别
验证码是用于验证用户身份或防止机器人访问的常见安全措施之一。本文将介绍如何使用Python对简单的数字验证码进行识别,以及完整的代码示例。1.下载验证码图片首先,我们需要从网站上下载验证码图片。假设验证码图片的URL为https://example.com
马尚 马尚
1年前
用Python实现简单的验证码识别
验证码是用于验证用户身份或防止机器人访问的常见安全措施之一。本文将介绍如何使用Python对简单的数字验证码进行识别,以及完整的代码示例。1.下载验证码图片首先,我们需要从网站上下载验证码图片。假设验证码图片的URL为https://example.com
马尚 马尚
1年前
用Python实现简单的验证码识别
验证码是用于验证用户身份或防止机器人访问的常见安全措施之一。本文将介绍如何使用Python对简单的数字验证码进行识别,以及完整的代码示例。1.下载验证码图片首先,我们需要从网站上下载验证码图片。假设验证码图片的URL为https://example.com
马尚 马尚
1年前
用Python实现简单的验证码识别
验证码是用于验证用户身份或防止机器人访问的常见安全措施之一。本文将介绍如何使用Python对简单的数字验证码进行识别,以及完整的代码示例。1.下载验证码图片首先,我们需要从网站上下载验证码图片。假设验证码图片的URL为https://example.com
马尚 马尚
1年前
用Python实现简单的验证码识别
验证码是用于验证用户身份或防止机器人访问的常见安全措施之一。本文将介绍如何使用Python对简单的数字验证码进行识别,以及完整的代码示例。1.下载验证码图片首先,我们需要从网站上下载验证码图片。假设验证码图片的URL为https://example.com
马尚 马尚
1年前
用Python实现简单的验证码识别
验证码是用于验证用户身份或防止机器人访问的常见安全措施之一。本文将介绍如何使用Python对简单的数字验证码进行识别,以及完整的代码示例。1.下载验证码图片首先,我们需要从网站上下载验证码图片。假设验证码图片的URL为https://example.com
马尚 马尚
1年前
用Python实现简单的验证码识别
验证码是用于验证用户身份或防止机器人访问的常见安全措施之一。本文将介绍如何使用Python对简单的数字验证码进行识别,以及完整的代码示例。1.下载验证码图片首先,我们需要从网站上下载验证码图片。假设验证码图片的URL为https://example.com
马尚 马尚
1年前
用Python实现简单的验证码识别
验证码是用于验证用户身份或防止机器人访问的常见安全措施之一。本文将介绍如何使用Python对简单的数字验证码进行识别,以及完整的代码示例。1.下载验证码图片首先,我们需要从网站上下载验证码图片。假设验证码图片的URL为https://example.com
极客星芒
极客星芒
Lv1
我为你褪去一身骄傲,你却转身朝她微笑
文章
3
粉丝
0
获赞
0