文档章节

GD库

z
 zjnn
发布于 2017/04/04 19:13
字数 426
阅读 4
收藏 0

引入gd库

打开 php目录下的php.ini,在php.ini中搜索gd,搜索相应的扩展文件,并取消行首的 ";"

重启apache,在php文件中打印<?php phpinfo() ?>可以查看是否开启GD库

GD库画图流程          

// 1)  创建画布 imagecreatetruecolor( 宽 , 高 );
$im = imagecreatetruecolor(300,200);
// 2)  创建颜料 imagecolorallocate( 画布 , 红 , 绿 , 蓝 )
$red = imagecolorallocate($im , 255 , 0 ,0);
//填充背景图片
imagefill($im,x轴,y轴,$blue);
// 3)  画椭圆 imageellipse( 画布 ,  圆心 x 坐标 ,  圆心 y 坐标 ,  宽 ,  高 ,  边框颜色 )
imageellipse($im,150,100,300,200,$red);
// 4)  输出 imagepng( 画布 [, 保存位置 ]),imagejpeg(),imagegif()
imagepng($im , './test1.png');
// 5)  销毁画面 imagedestroy( 画布 )
imagedestroy($im);

验证码

<?php
//随机数函数
function randStr($length){
	$str = str_shuffle('abcdefghijkmnprstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789');
	$str = substr($str,0,$length);
	return $str;
}
//创建画布
$im = imagecreatetruecolor(100,50);
//创建颜色
$red = imagecolorallocate($im,255,0,0);
$gray = imagecolorallocate($im,200,200,200);
//填充颜色
imagefill($im,0,0,$gray);
//在水平位置画一行字符串
imagestring($im,5,10,20,randStr(6),$red);
//输出画布
imagepng($im,'./test02.png');
//销毁画布
imagedestroy($im);
?>

缩略图与水印

<?php
//水印
//创建,获取一个新图像
$big = imagecreatefrompng('./test01.png');
$small = imagecreatefrompng('./test02.png');
//获取图像宽,高
list($wb,$hb) = getimagesize('./test01.png');
list($ws,$hs) = getimagesize('./test02.png');
//将小图粘贴到大图上,并透明
//imagecopymerge(原图,水印,原图x坐标,原图y坐标,水印x坐标,水印y坐标,水印宽,水印高,透明度)
imagecopymerge($big,$small,0,0,0,0,$ws,$hs,40);
//输出图像
imagepng($big,'./test03.png');
//销毁图像
imagedestroy($big);
imagedestroy($small);
?>
<?php
//缩略图
$pic = './test03.png';
//获取原图宽高
list($w,$h) = getimagesize($pic);
//获取原图
$big = imagecreatefrompng($pic);
//创建新画布
$small = imagecreatetruecolor($w/2,$h/2);
//将原图,按比例缩放到新画布上
imagecopyresampled($small,$big,0,0,0,0,$w/2,$h/2,$w,$h);
//输出缩略图
imagepng($small,'./test05.png');
//销毁图像
imagedestroy($big);
imagedestroy($small);
?>

 

 

© 著作权归作者所有

共有 人打赏支持
上一篇: cookie和session
下一篇: php_文件上传学习
z
粉丝 0
博文 24
码字总数 15955
作品 0
淮南
程序员
私信 提问

暂无文章

lucene 评分要素解析

基本规则:

Java搬砖工程师
25分钟前
0
0
ubutnu 14.04 安装JIRA

系统版本:Ubuntu 14.04 下载jira安装文件 sudo wget https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-7.1.9-x64.bin 修改文件权限 sudo chmod 777 atl......

Kampfer
36分钟前
0
0
软件开发模型优缺点及其适用范围

瀑布模型、快速原型模型、增量模型、螺旋模型 瀑布模型也称软件生存周期模型。 优点: (1)它在软件工程中占有重要地位,它提供了软件开发的基本框架,这比依靠“个人技艺”开发软件好得多。...

无极之岚
36分钟前
0
0
孩子们各显神通对付 iOS 12「屏幕使用时间」的限制

简评:2018 年秋季,苹果公司推出了 iOS 12,其中备受好评的一项改变是:增加了屏幕使用时间限制,以减轻沉迷手机的状况。三个月过去后,这项功能似乎并没有对孩子造成太多困扰,道高一尺魔高...

极光推送
41分钟前
2
1
springCloud Spring Boot mybatis分布式微服务云架构-docker-feign-hystrix-ribbon(七)

简介 在上一节中,我们讨论了feign+hystrix在项目开发中,除了考虑正常的调用之外,负载均衡和故障转移也是关注的重点,这也是feign + ribbon+hystrix的优势所在,本节我们就讨论一下在feign...

sccspuercode
41分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部