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 相关文章推荐
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
利用php获取服务器时间的实现代码
Jun 07 PHP
解析php取整的几种方式
Jun 25 PHP
php获取域名的google收录示例
Mar 24 PHP
ThinkPHP之M方法实例详解
Jun 20 PHP
PHP简单获取视频预览图的方法
Mar 12 PHP
php实现的通用图片处理类
Mar 24 PHP
PHP MVC框架路由学习笔记
Mar 02 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
PHP检测数据类型的几种方法(总结)
Mar 04 PHP
php无限级分类实现评论及回复功能
Feb 18 PHP
wordpress自定义标签云与随机获取标签的方法详解
Mar 22 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实现抓取Google IP并自动修改hosts文件
2015/02/12 PHP
使用GD库生成带阴影文字的图片
2015/03/27 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
JAVA中截取字符串substring用法详解
2017/04/14 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
通过cordova将vue项目打包为webapp的方法
2019/02/02 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
在Django中创建动态视图的教程
2015/07/15 Python
理解Python中的With语句
2016/03/18 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
pygame实现非图片按钮效果
2019/10/29 Python
空字符串(“”)和null的区别
2012/11/13 面试题
参观监狱心得体会
2014/01/02 职场文书
酒店秘书求职信范文
2014/02/17 职场文书
听证通知书
2015/04/24 职场文书
2015年小学实验室工作总结
2015/07/28 职场文书
Nginx+SpringBoot实现负载均衡的示例
2021/03/31 Servers
详解MySQL集群搭建
2021/05/26 MySQL
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技
python如何将mat文件转为png
2022/07/15 Python