PHP中简单的图形处理,PHP简单图形处理
PHP中简单的图形处理,PHP简单图形处理
PHP中简单的图形处理
计应134凌豪
1.加载GD库
GD库是一个开放的动态创建图像、源代码公开的函数库,可以从官方网站http://www.boutell.com/gd处下载。目前,GD库支持GIF、PNG、JPEG、WBMP和XBM等多种图像格式,用于对图像的处理。
GD库在PHP 5中是默认安装的,但要激活GD库,必须修改php.ini文件。将该文件中的“;extension=php_gd2.dll”选项前的分号“;”删除,保存修改后的文件并重新启动Apache服务器即可生效。
2.创建一个简单的图像
使用GD2函数库可以实现各种图形图像的处理。创建画布是使用GD2函数库来创建图像的第一步,无论创建什么样的图像,首先都需要创建一个画布,其他操作都将在这个画布上完成。在GD2函数库中创建画布,可以通过imagecreate()函数实现。
使用imagecreate()函数创建一个宽度为200像素,高度为60像素的画布,并设置画布颜色RGB(225,66,159),最后输出一个GIF格式的图像,代码如下:
$im = imagecreate(200,60); //创建一个画布
$white = imagecolorallocate($im, 225,66,159); //设置画布的背景颜色为浅绿色
imagegif($im); //输出图像
?>
3.使用GD2函数在照片上添加文字
PHP中的GD库支持中文,但必须要以UTF-8格式的参数来进行传递,如果使用imageString()函数直接绘制中文字符串就会显示乱码,这是因为GD2对中文只能接收UTF-8编码格式,并且默认使用英文字体,所以要输出中文字符串,必须对中文字符串进行转码,并设置中文字符使用的字体。否则,输出的只能是乱码。
使用imageTTFText()函数将文字“这是一个测试”输出到图像中,代码如下:
header("content-type:image/jpeg"); //定义输出为图像类型
$im=imagecreatefromjpeg("images/photo.jpg"); //载入照片
$textcolor=imagecolorallocate($im,56,73,136);//设置字体颜色为蓝色,值为RGB颜色值
$fnt="c:/windows/fonts/simhei.ttf"; //定义字体
$motto=iconv("gb2312","utf-8","这是一个测试"); //定义输出字体串
imageTTFText($im,220,0,480,340,$textcolor,$fnt,$motto); //写TTF文字到图中
imagejpeg($im); //建立JPEG图形
imagedestroy($im); //结束图形,释放内存空间
?>
4.PHP生成验证码
创建一个checks.php文件在文件中使用GD2函数创建一个4位的验证码,并将生成的验证码保存到session中:
session_start();
header("content-type:image/png"); //设置创建图像的格式
$image_width=70; //设置图像宽度
$image_height=18; //设置图像高度
srand(microtime()*100000); //设置随机数的种子
for($i=0;$i $new_number.=dechex(rand(0,15));
}
$_SESSION[check_checks]=$new_number; //将获取的随机数验证码写入到SESSION变量中
$num_image=imagecreate($image_width,$image_height); //创建一个画布
imagecolorallocate($num_image,255,255,255); //设置画布的颜色
for($i=0;$i
$x=mt_rand(1,8)+$image_width*$i/4; //设置随机字符所在位置的X坐标
$y=mt_rand(1,$image_height/4); //设置随机字符所在位置的Y坐标
$color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)); //设置字符的颜色
imagestring($num_image,$font,$x,$y,$_SESSION[check_checks][$i],$color); //水平输出字符
}
imagepng($num_image); //生成PNG格式的图像
imagedestroy($num_image); //释放图像资源
?>
创建一个用户登录的表单并调用checks.php在表单中输出图像的内容:
session_start();
if($_POST["Submit"]!=""){
$checks=$_POST["checks"];
if($checks==""){
echo "<script> alert('验证码不能为空');window.location.href='index.php';</script>";
}
if($checks==$_SESSION[check_checks]){
echo "<script> alert('用户登录成功!');window.location.href='index.php';</script>";
}else{
echo "<script> alert('您输入的验证码不正确!');window.location.href='index.php';</script>";
}
}
?>

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
