PHP图像处理之imagecreate、imagedestroy函数介绍


Posted in PHP onNovember 19, 2014

使用PHP的GD库处理图像时,必须对画布进行管理。创建画布就是在内存中开辟一块存储区域,以后在PHP中对图像的所有操作都是基于这个图布处理的,图布就是一个图像资源。在PHP中,可以使用imagecrete()和imageCreateTrueColor()两个函数创建指定的画布。这两个函数的作用是一致的,都是建立一个指定大小的画布,他们的原型如下所示:

resource imagecreate(int $x_size,int $y_size)              //新建一个基于调色板的图像

resource imagecreatetruecolor(int $x_size,int $y_size)             //新建一个真彩色图像

虽然这两个函数都可以创建一个新的画布,但各自能够容纳的颜色的总数是不同的。imageCreate()函数可以创建一个基于普通调色板的图像,通常支持256色。而imageCreateTrueColor()函数可以创建一个真彩色图像,但该函数不能用于GIF文件格式。当画布创建后,返回一个图像标识符,代表了一幅宽度为$x_size和高度为$y_size的空白图像引用句柄。在后续的绘图过程中,都需要使用这个资源类型的句柄。例如,可以通过调用imagesx()和imagesy()两个函数获取图像的大小。代码如下所示:

<?php

$img = imagecreatetruecolor(300,200);//创建一个300*200的画布

echo imagesx($img);//输出画布宽度300

echo imagesy($img);//输出画布高度200

?>

另外,画布的引用句柄如果不再使用,一定要将这个资源销毁,释放内存与该图像的存储单元。画布的销毁过程非常简单,调用imagedestroy()函数就可以实现。其语法格式如下所示:

bool imagedestroy(resource $image)                  //销毁一图像

如果该方法调用成功,就会释放与参数$image关联的内存。其中参数$image是由图像创建函数返回的图像标识符。

PHP 相关文章推荐
PHP header函数分析详解
Aug 06 PHP
PHP使用CURL获取302跳转后的地址实例
May 04 PHP
php实现复制移动文件的方法
Jul 29 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
PHP mysqli事务操作常用方法分析
Jul 22 PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 PHP
php格式文件打开的四种方法
Feb 24 PHP
yii2 上传图片的示例代码
Nov 02 PHP
PHP下用Swoole实现Actor并发模型的方法
Jun 12 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 PHP
TP3.2.3框架文件上传操作实例详解
Jan 23 PHP
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
Apr 01 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 #PHP
PHP GD库生成图像的几个函数总结
Nov 19 #PHP
PHP中绘制图像的一些函数总结
Nov 19 #PHP
PHP中round()函数对浮点数进行四舍五入的方法
Nov 19 #PHP
PHP中创建图像并绘制文字的例子
Nov 19 #PHP
PHP图片处理之图片背景、画布操作
Nov 19 #PHP
php使用function_exists判断函数可用的方法
Nov 19 #PHP
You might like
php利用cookie实现自动登录的方法
2014/12/10 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
img的onload的另类用法
2008/01/10 Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
2010/02/07 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
浅谈jquery高级方法描述与应用
2016/10/04 Javascript
jquery二级目录选中当前页的css样式
2016/12/08 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/25 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
Vue 实现双向绑定的四种方法
2018/03/16 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
浅谈vuex中store的命名空间
2019/11/08 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
Python操作mongodb的9个步骤
2018/06/04 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
Django启动时找不到mysqlclient问题解决方案
2020/11/11 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
应届大学生自荐信
2013/12/05 职场文书
大一期末自我鉴定
2013/12/13 职场文书
活动志愿者自荐信
2014/01/27 职场文书
党员“四风”问题批评与自我批评思想汇报
2014/10/06 职场文书
2016年五四青年节校园广播稿
2015/12/17 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
python中的plt.cm.Paired用法说明
2021/05/31 Python
redis中lua脚本使用教程
2021/11/01 Redis