玩转图像函数库―常见图形操作


Posted in PHP onSeptember 03, 2006

我尽量不说大理论,诸如什么是png,自己查解决.

PHP自4.3版本开始,捆绑了自己的GD2库,用户可以自己下载并设置.如果要查看自己的php版本是否支持gd模块(支持JPEG,PNG,WBMP但不再支持GIF),如下方式是一种方法:

if(!function_exists('imagecreate')) {
die('本服务器不支持GD模块');
}

如果不支持的话,如何配置 ? 下载gd模块的dll文件,修改php.ini,重启服务器即可.

以下简称PHP作图为PS.

当您打算 PS的话,应该完成如下如下步骤,这是必经的.

1:创建基本PS对象(我假设为$image),填充背景(默认黑),以后的全部ps操作都是基于这个背景图像的.
2:在$image上作图.
3:输出这个图像.
4:销毁对象,清除使用内存.

首先,我们来认识几个常用的函数,这些函数在php手册里面都有详细介绍,此处大体引用下.

resource imagecreate ( int x_size, int y_size )
imagecreate() 返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的空白图像。
此函数基本同imagetruecolor($width,$height).

int imagecolorallocate ( resource image, int red, int green, int blue )
imagecolorallocate() 返回一个标识符,代表了由给定的 RGB 成分组成的颜色。image 参数是 imagecreatetruecolor() 函数的返回值。red,green 和 blue 分别是所需要的颜色的红,绿,蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xFF。imagecolorallocate() 必须被调用以创建每一种用在 image 所代表的图像中的颜色。

bool imagefill ( resource image, int x, int y, int color )
imagefill() 在 image 图像的坐标 x,y(图像左上角为 0, 0)处用 color 颜色执行区域填充(即与 x, y 点颜色相同且相邻的点都会被填充)。

bool imageline ( resource image, int x1, int y1, int x2, int y2, int color )
imageline() 用 color 颜色在图像 image 中从坐标 x1,y1 到 x2,y2(图像左上角为 0, 0)画一条线段。

bool imagestring ( resource image, int font, int x, int y, string s, int col )
imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 坐标处(这是字符串左上角坐标,整幅图像的左上角为 0,0)。如果 font 是 1,2,3,4 或 5,则使用内置字体。

array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )
本函数比较重要,参数较多,此处不再列出,它主要是写字到图像上,和上面的函数类似,但必前者强大.

bool imagefilltoborder ( resource image, int x, int y, int border, int color )
imagefilltoborder() 从 x,y(图像左上角为 0, 0)点开始用 color 颜色执行区域填充,直到碰到颜色为 border 的边界为止。【注:边界内的所有颜色都会被填充。如果指定的边界色和该点颜色相同,则没有填充。如果图像中没有该边界色,则整幅图像都会被填充。】

bool imagefilledellipse ( resource image, int cx, int cy, int w, int h, int color )
imagefilledellipse() 在 image 所代表的图像中以 cx,cy(图像左上角为 0, 0)为中心画一个椭圆。w 和 h 分别指定了椭圆的宽和高。椭圆用 color 颜色填充。如果成功则返回 TRUE,失败则返回 FALSE。

输出图像数据:imagepng($image[,$filename])

PHP 相关文章推荐
聊天室php&mysql(二)
Oct 09 PHP
php 中的str_replace 函数总结
Apr 27 PHP
PHP提取中文首字母
Apr 09 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
php防止用户重复提交表单
Nov 02 PHP
PHP生成可点击刷新的验证码简单示例
May 13 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
php微信开发之谷歌测距
Jun 14 PHP
微信企业转账之入口类分装php代码
Oct 01 PHP
生成静态页面的PHP类
Jul 15 #PHP
删除无限级目录与文件代码共享
Jul 12 #PHP
PHP截取中文字符串的问题
Jul 12 #PHP
最令PHP初学者头痛的十四个问题
Jul 12 #PHP
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
Jul 09 #PHP
PHP初学者头疼问题总结
Jul 08 #PHP
php分页函数
Jul 08 #PHP
You might like
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
2016/06/30 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
基于Jquery的文字自动截取(提供源代码)
2011/08/09 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
Javascript Promise用法详解
2018/05/10 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
mpvue小程序循环动画开启暂停的实现方法
2019/05/15 Javascript
python对数组进行反转的方法
2015/05/20 Python
Python随手笔记之标准类型内建函数
2015/12/02 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
详解python算法之冒泡排序
2019/03/05 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
Python request操作步骤及代码实例
2020/04/13 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
python中pyqtgraph知识点总结
2021/01/26 Python
金属材料工程个人求职的自我评价
2013/12/04 职场文书
倡议书格式
2014/04/14 职场文书
销售员岗位职责
2014/06/09 职场文书
保研专家推荐信范文
2015/03/25 职场文书
三八妇女节主持词
2015/07/04 职场文书
获奖感言范文
2015/07/31 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python