PHP图像处理组件GD的常用函数总结――图像创建和销毁相关函数
前一篇,我们讲了一些GD库的基本函数,这篇讲一下创建图像相关的函数。图像创建和销毁函数主要有以下几个:
imagecreatetruecolor
创建一个真彩的空白图像。
imagecreatefromgif
从GIF文件或URL读取并新建一图像
imagecreatefromjpeg
从JPG文件或URL读取并新建一图像
imagecreatefrompng
从PNG文件或URL读取并新建一图像
imagecreatefromwbmp
从WBMP文件或URL读取并新建一图像
imagecreatefromstring
从字符串中的图像流新建一图像
imagedestroy
销毁一图像
说明一下,这里所说的创建和销毁图像,都是在内存中建立或清除图像资源,而不是创建或删除图像文件。
接下来就具体讲述这些函数了。
imagecreatetruecolor
新建一个真彩色图像
原型:resource imagecreatetruecolor ( int x_size, int y_size )
返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的黑色图像。
例子:
<?php
header("Content-type: image/png");
$im = @imagecreatetruecolor(50, 100)
or die("Cannot Initialize new GD image stream");
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>
imagecreatefromgif
从 GIF 文件或 URL 新建一图像
原型:resource imagecreatefromgif ( string filename )
返回一图像标识符,代表了从给定的文件名取得的图像。在失败时返回一个空字符串,并且输出一条错误信息。
这种结果很不方便我们的调试,为减轻调试工作下面的例子会产生一个错误 GIF:
例子:处理创建过程中的错误
<?php
function LoadGif($imgname)
{
$im = @imagecreatefromgif($imgname); /* Attempt to open */
if(!$im) { /* See if it failed */
$im = imagecreatetruecolor(150, 30); /* Create a blank image */
$bgc = imagecolorallocate($im, 255, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
/* Output an errmsg */
imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
}
return $im;
}
?>
如果“fopen wrappers”已经被激活,则在本函数中可以把 URL 作为文件名来使用。
其他几个从图像文件创建图像的函数和imagecreatefromgif的参数是一样的,这里不再赘述。
imagecreatefromjpeg 从 JPEG 文件或 URL 新建一图像
imagecreatefrompng 从 PNG 文件或 URL 新建一图像
imagecreatefromwbmp 从 WBMP 文件或 URL 新建一图像
imagecreatefromstring
这个函数比较特殊,是从字符串中的图像流新建一图像,这个图像流一般是一个图像文件用二进制读取然后通过base64编码,转化成一个字符串的,本函数可以从这样的一个字符串中途去一个图像。
原型:resource imagecreatefromstring ( string image )
返回一个图像标识符,其表达了从给定字符串得来的图像。图像格式将自动检测,只要 PHP 支持:JPEG,PNG,GIF,WBMP 和 GD2。成功则返回图像资源,如果图像格式不支持,数据不是认可的格式,或者图像已损坏则返回 FALSE。
例子:
<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
. 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
. 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
. '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);
$im = imagecreatefromstring($data);
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);
}
else {
echo 'An error occured.';
}
?>
imagedestroy
销毁一图像
原型:bool imagedestroy ( resource image )
释放与 image 关联的内存。image 是由图像创建函数返回的图像标识符。
建议继续学习:
- PHP图像处理组件GD的常用函数总结――基本信息函数 (阅读:2949)
- PHP图像处理组件GD的常用函数总结――图像输出相关函数 (阅读:2427)
- 网络图像优化总结 (阅读:2337)
- PHP任意图像裁剪成固定大小 (阅读:2190)
- PHP图像处理组件GD的常用函数总结――图像转换相关函数 (阅读:2110)
- PHP图像处理组件GD的常用函数总结――概述 (阅读:1745)
- 如何在终端显示图像缩略图 (阅读:1161)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:暗夜木偶 来源: SourceJoy PHP Javascript web前端 用户体验 - 注于web应用开发
- 标签: gd imagecreatefromg imagecreatefromj imagecreatefromp imagecreatefroms imagecreatefromw imagecreatetruec 图像
- 发布时间:2010-05-22 12:59:48
- [67] Oracle MTS模式下 进程地址与会话信
- [67] Go Reflect 性能
- [67] 如何拿下简短的域名
- [62] IOS安全–浅谈关于IOS加固的几种方法
- [59] 图书馆的世界纪录
- [59] 【社会化设计】自我(self)部分――欢迎区
- [59] android 开发入门
- [56] 视觉调整-设计师 vs. 逻辑
- [49] 给自己的字体课(一)——英文字体基础
- [47] 读书笔记-壹百度:百度十年千倍的29条法则