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的输入输出流
Feb 14 PHP
php Undefined index的问题
Jun 01 PHP
PHP 缓存实现代码及详细注释
May 16 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
Jun 06 PHP
解析smarty 截取字符串函数 truncate的用法介绍
Jun 20 PHP
linux中cd命令使用详解
Jan 08 PHP
学习php设计模式 php实现享元模式(flyweight)
Dec 07 PHP
PHP内核探索之解释器的执行过程
Dec 22 PHP
PHP将字符串首字母大小写转换的实例
Jan 21 PHP
php实现网页端验证码功能
Jul 11 PHP
php和js实现根据子网掩码和ip计算子网功能示例
Nov 09 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
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
生成静态页面的PHP类
2006/07/15 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
2020/04/13 Javascript
脚本合并提升javascript性能示例
2014/02/24 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
Flexigrid在IE下不显示数据的有效处理方法
2014/09/04 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
介绍Python中内置的itertools模块
2015/04/29 Python
python比较2个xml内容的方法
2015/05/11 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
python2 对excel表格操作完整示例
2020/02/23 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
Python celery原理及运行流程解析
2020/06/13 Python
Nike澳大利亚官网:Nike.com (AU)
2019/06/03 全球购物
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
交通事故协议书
2014/04/15 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
出纳试用期自我评价
2015/03/10 职场文书
应收账款管理制度
2015/08/06 职场文书
对PyTorch中inplace字段的全面理解
2021/05/22 Python