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使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
May 15 PHP
php实现的美国50个州选择列表实例
Apr 20 PHP
php函数重载的替代方法--伪重载详解
May 08 PHP
PHP中的魔术方法总结和使用实例
May 11 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
Feb 23 PHP
Yii控制器中filter过滤器用法分析
Jul 15 PHP
php array_keys 返回数组的键名
Oct 25 PHP
Yii 2.0在Grid中格式化时间方法示例
Jun 06 PHP
PHP开发实现微信退款功能示例
Nov 25 PHP
Ubuntu上安装yaf扩展的方法
Jan 29 PHP
php并发加锁问题分析与设计代码实例讲解
Feb 26 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多种序列化与反序列化的方法
2013/06/06 PHP
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
Django 中 cookie的使用
2017/08/17 PHP
javascript,jquery闭包概念分析
2010/06/19 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
全面解析Bootstrap弹窗的实现方法
2015/12/01 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
vue-resource调用promise取数据方式详解
2017/07/21 Javascript
实现jquery放大镜的两种方法
2018/02/22 jQuery
原生js实现each方法实例代码详解
2019/05/27 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
python实现的守护进程(Daemon)用法实例
2015/06/02 Python
Python学习小技巧之列表项的排序
2017/05/20 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
基于Python测试程序是否有错误
2020/05/16 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
python 利用toapi库自动生成api
2020/10/19 Python
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
员工考核管理制度
2014/02/02 职场文书
后备干部考察材料
2014/02/12 职场文书
《阳光》教学反思
2014/02/23 职场文书
农业项目投资意向书
2015/05/09 职场文书
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android