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 代码优化的42条建议 推荐
Sep 25 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
Apr 09 PHP
php中使用__autoload()自动加载未定义类的实现代码
Feb 06 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
Apr 13 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
PHP转换IP地址到真实地址的方法详解
Jun 09 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
php发送html格式文本邮件的方法
Jun 10 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
PHP与Java对比学习日期时间函数
Jul 03 PHP
PHP simplexml_import_dom()函数讲解
Feb 03 PHP
详解Laravel服务容器的绑定与解析
Nov 05 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
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
人大复印资料处理程序_补充篇
2006/10/09 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
Python序列操作之进阶篇
2016/12/08 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
Python实现猜年龄游戏代码实例
2020/03/25 Python
css3设置box-pack和box-align让div里面的元素垂直居中
2014/09/01 HTML / CSS
电子商务专业推荐信范文
2013/12/02 职场文书
图书室管理制度
2014/01/19 职场文书
小学开学寄语
2014/01/19 职场文书
音乐教学随笔感言
2014/02/19 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
中秋节寄语2015
2015/03/24 职场文书
机器人瓦力观后感
2015/06/12 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
redis限流的实际应用
2021/04/24 Redis
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
十大最强奥特曼武器:怪兽战斗仪在榜,第五奥特之父只使用过一次
2022/03/18 日漫