首页 > 后端开发 > 正文

php如何将画布设置为蓝色

2024-08-21 17:35:12 | 我爱编程网

小编今天整理了一些php如何将画布设置为蓝色相关内容,希望能够帮到大家。

本文目录一览:

php如何将画布设置为蓝色

php如何将画布设置为蓝色

imagecolorallocate()是创建颜色,颜色创建后还需要进行填充才看到效果。
$color = imagecolorallocate($img,200,200,200);
imagefill($img,0,0,$color); //填充颜色到画布

php如何将画布设置为蓝色

PHP中使用GD库创建圆形饼图?

在php中,有一些简单的图像函数是可以直接使用的,但大多数要处理的图像,都需要在编译PHP时加上GD库。除了安装GD库之外,在PHP中还可能需要其他的库,回龙观电脑培训认为这可以根据需要支持哪些图像格式而定。不同的GD版本支持的图像格式不完全一样,最新的GD库版本支持GIF、JPEG、PNG、WBMP、XBM等格式的图像文件,此外还支持一些如FreeType、Type1等字体库。通过GD库中的函数,可以完成各种点、线、几何图形、文本及颜色的操作处理,也可以创建或读取多种格式的图像文件。

在PHP中,通过GD库处理图像的操作都是先在内存中处理,操作完成以后再以文件流的方式输出到浏览器或保存在服务器的磁盘中。创建一个图像应该完成如下所示4个基本步骤。

①创建画布:所有的绘图设计都需要在一个背景图片上完成,而画布实际上就是在内存中开辟的一块临时区域,用于存储图像的信息。以后的图像操作都将基于这个背景画布,该画布的管理就类似于我们在画画时使用的画布。

②绘制图像:画布创建完成以后,就可以通过这个画布资源,使用各种画像函数设置图像的颜色、填充画布、画点、线段、各种几何图形,以及向图像中添加文本等。

③输出图像:完成整个图像的绘制以后,需要将图像以某种格式保存到服务器指定的文件中,或将图像直接输出到浏览器上显示给客户。但在图像输出之前,一定要使用header()函数发送Content-type通知浏览器,这次发送的是图片不是文本。

④释放资源:图像被输出以后,画布中的内容也不再有用。出于节约系统资源的考虑,需要及时清楚画布占用的所有内存资源。

我们先来了解一下一个非常简单的创建图像脚本。在下面的脚本文件image.php中,按前面介绍的绘制图像的四个步骤,使用GD库动态输出一个扇形统计图。

php如何将画布设置为蓝色

怎么用原生php做验证码

我爱编程网(https://www.52biancheng.com)小编还为大家带来怎么用原生php做验证码的相关内容。

<?php
class validateCode{
private $charset='abcdefghijhklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ23456789'; //随机因子
private $_len;
private $code; //验证码
private $codelen=4; //验证码长度
private $width=130; //画布宽度
private $height=50; //画布长度
private $img; //图形资源句柄
private $font; //制定字体
private $fontsize=26;//字体大小
private $fontcolor; //字体颜色

//初始化构造函数
public function __construct(){
$this->font=dirname(__file__).'/validateFont.ttf';
//字体文件及路径,__file__表示当前PHP文件绝对路径,dirname表示这个PHP文件的绝对路径的上一层
}

//生成随机码
private function createCode(){
$this->_len=strlen($this->charset)-1; //strlen表示计算字符串长度
for($i=1;$i<=$this->codelen;$i++){
$this->code.=$this->charset[mt_rand(0,$this->_len)];
}
}
//生成背景
private function createBG(){
$this->img=imagecreatetruecolor($this->width,$this->height);//创建图像
$color=imagecolorallocate($this->img,mt_rand(157,255),mt_rand(157,255),mt_rand(157,255)); //分配颜色函数(红,绿,蓝)
imagefilledrectangle($this->img,0,$this->height,$this->width,0,$color); //矩形区域着色函数(要填充的图像,x1,y1,x2,y2,要填充的颜色),x1,y1,x2,y2表示矩形的对角线
}

//生成文字
private function createFont(){
$_x=$this->width/$this->codelen;
for($i=0;$i<$this->codelen;$i++){
$this->fontcolor=imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
imagettftext($this->img,$this->fontsize,mt_rand(-30,30),$_x*$i+mt_rand(1,5),$this->height/1.4,$this->fontcolor,$this->font,$this->code[$i]); //参数 size 为字形的尺寸;angle 为字型的角度,顺时针计算,0 度为水平,也就是三点钟的方向 (由左到右),90 度则为由下到上的文字;x,y 二参数为文字的坐标值 (原点为左上角);参数 col 为字的颜色;fontfile 为字型文件名称,亦可是远端的文件;text 当然就是字符串内容了。
}
}

//生成线条雪花
private function createLine(){
//线条
for($i=0;$i<6;$i++){
$color=imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
imageline($this->img,mt_rand(0,$this->width),mt_rand(0,$this->height),mt_rand(0,$this->width),mt_rand(0,$this->height),$color);
}

//雪花
for($i=0;$i<40;$i++){
$color=imagecolorallocate($this->img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($this->img,mt_rand(1,5),mt_rand(0,$this->width),mt_rand(0,$this->height),'*',$color);
}
}

//输出
private function outPut(){
header("content-type:image/png");
imagepng($this->img);
imagedestroy($this->img);
}

//对外生成
public function doimg(){
$this->createCode();
$this->createBg();
$this->createFont();
$this->createLine();
$this->outPut();
}

//获取验证码
public function getCode(){
return strtolower($this->code);
}
}
?>
字体自己去找,修改下路径就行了 我爱编程网

以上就是我爱编程网小编为大家带来的内容了,想要了解更多相关信息,请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php如何将画布设置为蓝色”相关推荐
thinkPHP验证码文字大小怎么设置,为什么我把画布放大一些,里面的文字仍然那么小
thinkPHP验证码文字大小怎么设置,为什么我把画布放大一些,里面的文字仍然那么小

PHP网络编程标准教程的目录第1章PHP概述0011.1什么是PHP0021.2PHP开发语言的特点0021.3PHP的发展趋势0031.4如何学好PHP0041.5PHP的语法结构0051.5.1PHP标识符的规则0051.5.2PHP标记符的作用0051.6程序注释0061.6.1使用PHP注释0061.6.2使用HTML注释0071.6.3

2024-10-22 23:59:56
如何设置python的编码格式为utf-8
如何设置python的编码格式为utf-8

如何设置python的编码格式为utf-8python的编码格式?#coding=utf-8这是文档编码importsyssys.setdefaultencoding("utf-8")这是设置默认编码方式为utf-8xx.encode("utf-8")这是字符串编码操作importcodecscodecs.open(xx,'r','utf-8"),这是文件

2023-12-20 10:36:52
怎么设置html文字背景颜色
怎么设置html文字背景颜色

在PHP的echo中修改字体颜色&lt;?phpheader("Content-type:text/html;charset=utf-8");$d1=strtotime("January12018");$d2=1+ceil((time()-$d1)/60/60/24);echo'&lt;span&gt;2018年1月1日距今天已有'.$d2.'天。&lt;/span&gt;'

2025-03-02 00:21:33
如何设置PyCharm中文字体为微软雅黑
如何设置PyCharm中文字体为微软雅黑

python免费编程软件python免费编程软件Python是一种高级编程语言,可以在多个集成开发环境(IDE)中进行编程。以下是一些常用的Python编程软件:1.PyCharm:JetBrains公司开发的PythonIDE,功能强大,包括调试、代码自动补全、集成版本控制等功能。有专业版和社区版两个版本。2.VSCode:由微软开发的集成开发环境

2024-02-04 17:57:54
PHP如何设置select标签的选中值?
PHP如何设置select标签的选中值?

thinkphp的select和find的区别thinkphp的select和find的区别如下:1、find()返回一个一维数组,而select()返回一个二维数组。2、取值时有所不同,一维数组取值用$data["demo"],二维数组取值用$data[0]["demo"]thinkphp用到select()和find()方法,两个方法都能返回数据集数组,find()返回一个一

2025-01-06 06:01:24
如何严格设置php中session过期时间
如何严格设置php中session过期时间

PHP调用了一个错误的函数?一、错误类型:PHP致命错误Errortype:PHPFatalerrorFatalerror:Calltoundefinedfunction(a)in(b)online(c)二、错误描述:该错误报告表示你正企图调用未经定义的函数(function),其中a----表示未定义的函数名;b----出现该段脚本的路径;

2024-10-08 17:33:11
JAVA如何给程序设置一个窗口
JAVA如何给程序设置一个窗口

JAVA如何给程序设置一个窗口首先,绘制一个默认的窗体,创建好工程,包,类,命名类为Window.很简单,在类中添加一个私有属性JFrame,这么写:privateJFramef=newJFrame("欢迎来到本自助银行");Window的构造方法中,只写 f.setVisible(true);以及窗体的初始位置和初始大小:f.setLocation(300,200);f.setSiz

2024-05-09 07:58:28
phpstorm如何设置函数的注释内容?
phpstorm如何设置函数的注释内容?

PHP网络编程标准教程的目录第1章PHP概述0011.1什么是PHP0021.2PHP开发语言的特点0021.3PHP的发展趋势0031.4如何学好PHP0041.5PHP的语法结构0051.5.1PHP标识符的规则0051.5.2PHP标记符的作用0051.6程序注释0061.6.1使用PHP注释0061.6.2使用HTML注释0071.6.3

2024-12-21 20:07:45