文档章节

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);
?>

 

 

© 著作权归作者所有

共有 人打赏支持
z
粉丝 0
博文 24
码字总数 15955
作品 0
淮南
程序员

暂无文章

awk命令用法介绍

10月18日任务 9.6/9.7 awk 1.awk(上)(下) 1.awk 分段操作功能 指定分隔符,并把第一段打印出来,不会改动文件内容 将所有内容打印出来 awk 没有指定分隔符号,则会默认用空格或者空白字符...

hhpuppy
29分钟前
0
0
Spring Cloud Eureka Server高可用之:在线扩容

本文共 1591字,阅读大约需要 6分钟 ! 概述 业务微服务化以后,我们要求服务高可用,于是我们可以部署多个相同的服务实例,并引入负载均衡机制。而微服务注册中心作为微服务化系统的重要单元...

CodeSheep
42分钟前
1
0
内网esxi主机上安装CoreOS虚拟机

CoreOS是一个为专门运行容器而设计的轻量级linux发行版,旨在通过轻量的系统架构和灵活的应用程序部署能力简化数据中心的维护成本和复杂度。它没有包管理工具,运行容器化应用以提供服务;默...

hiwill
今天
1
0
20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
今天
3
0
WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部