知识大全 PHP学习的经验和技巧(六)

Posted 函数

篇首语:非淡泊无以明志,非宁静无以致远。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 PHP学习的经验和技巧(六)相关的知识,希望对你有一定的参考价值。

PHP学习的经验和技巧(六)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  六 动态图像的创建

  只要安装一些第三方的库文件并具有一定的几何知识 就可以利用PHP来创建和处理图像了 事实上 这不需要太多的几何知识 因为我大学没有毕业 仍然可以利用PHP创建图像

  在使用基本的图像创建函数之前 需要安装GD库文件 如果要使用与JPEG有关的图像创建函数 还需要安装jpeg b 如果要在图像中使用Type 型字体 则必须安装t lib

  在建立图像创建环境之前 还需要作一些准备工作 首先 安装t lib 其次安装jpeg b 然后再安装GD库文件 在安装时一定要按这里给定的顺序进行安装 因为在编译GD为库时会用到jpeg b 如果没有安装jpeg b 在编译时就会出错

  在安装完这三个组件后 还需要重新配置PHP 这也是你对采用DSO方式安装PHP感到庆幸的地方之一 运行make clean 然后在当前的配置中添加下面的内容

   with gd=[/path/to/gd]

   with jpeg dir=[/path/to/jpeg b]

   with t lib=[/path/to/t lib]

  完成添加后执行make命令 然后再执行make install命令 重新启动Apache后运行phpinfo()来检查一下新的设置是否生效了 现在就可以开始图像创建工作了

  根据所安装的GD库文件的版本不同 你也许能或者不能创建GIF或PNG格式的图形文件 如果安装的是gd 或以前的版本 可以使用GIF格式的文件但不能创建PNG格式 如果安装的是gd 以后的版本 可以创建PNG文件但不能创建GIF格式的文件

  创建一幅简单的图像也需要用到许多的函数 我们将一步一步地进行说明

  在这个例子中 我们将创建一个PNG格式的图像文件 下面的代码是一个包含所创建的图像的MIME类型的头部

  <? header ( Content type: image/png );

  使用ImageCreate()创建一个代表空白图像的变量 这个函数要求以像素为单位的图像大小的参数 其格式是ImageCreate(x_size y_size) 如果要创建一个大小为 X 的图像 就可以使用下面的语句

  $newImg = ImageCreate( );

  由于图像还是空白的 因此你可能会希望用一些彩色来填充它 然而 你需要首先使用ImageColorAllocate()函数用其RGB值为这种颜色指定一个名字 这一函数的格式为ImageColorAllocate([image] [red] [green] [blue]) 如果要定义天蓝色 可以使用如下的语句

  $skyblue = ImageColorAllocate($newImg );

  接下来 需要使用ImageFill()函数用这种颜色填充这个图像 ImageFill()函数有几个版本 例如ImageFillRectangle() ImageFillPolygon()等 为简单起见 我们通过如下的格式使用ImageFill()函数

  ImageFill([image] [start x point] [start y point] [color])

  ImageFill($newImg $skyblue);

  最后 建立图像后释放图像句柄和所占用的内存

  ImagePNG($newImg);

  ImageDestroy($newImg); ?>

  这样 创建图像的全部代码如下所示

  <?   header ( Content type: image/png );  $newImg = ImageCreate( );   $skyblue = ImageColorAllocate($newImg );  ImageFill($newImg $skyblue);   ImagePNG($newImg);   ImageDestroy($newImg);   ?>

  如果把这个脚本文件保存为skyblue php 并用浏览器访问它 就会看到一个天蓝色的 X 的PNG格式的图像

  我们还可以使用图像创建函数对图像进行处理 例如把一个较大图像作成一个小图像

  假设你有一幅图像 想从中裁剪出一个 X 大小的图像 你所需要作的是创建一个 X 大小的空白图像 创建一个包含原来图像的图像流 然后把一个经过调整大小的原来的图像放到新的空白图像中

  要完成这一任务的关健函数是ImageCopyResized() 它要求的格式如下所示 ImageCopyResized([new image handle] [original image handle] [new image X] [new Image Y] [original image X] [original image Y] [new image X] [new image Y] [original image X] [original image Y])

  <?   /* 发送一个头部 以便让浏览器知道该文件所包含的内容类型*/   header( Content type: image/png );   /* 建立保存新图像高度和宽度的变量*/   $newWidth = ;   $newHeight = ;   /* 建立给定高度和宽度的新的空白图像*/   $newImg = ImageCreate($newWidth $newHeight);   /* 从原来较大的图像中得到数据*/   $origImg = ImageCreateFromPNG( test png );   /*拷贝调整大小后的图像 使用ImageSX() ImageSY()得到原来的图像在X Y方面上的大小 */   ImageCopyResized($newImg $origImg $newWidth $newHeight ImageSX($origImg) ImageSY($origImg));   /*创建希望得到的图像 释放内存 */   ImagePNG($newImg);   ImageDestroy($newImg);   ?>

cha138/Article/program/PHP/201311/21352

相关参考

知识大全 PHP学习的经验和技巧(二)

PHP学习的经验和技巧(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  二使用PHP本身的对

知识大全 PHP学习的经验和技巧(七)

PHP学习的经验和技巧(七)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  七基于PHP的用户认

知识大全 PHP学习的经验和技巧(五)

PHP学习的经验和技巧(五)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  五丰富的数组函数  

知识大全 PHP学习的经验和技巧(三)

PHP学习的经验和技巧(三)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  三文件是我们的朋友 

知识大全 PHP学习的经验和技巧(一)

PHP学习的经验和技巧(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  全球超过万个互联网网

知识大全 如何学习PHP之经验谈[2]

如何学习PHP之经验谈[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  >>自己

知识大全 如何学习PHP之经验谈[1]

如何学习PHP之经验谈[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  >>总述

知识大全 php小经验:解析preg

  正则表达式在PHP中的应用在PHP应用中正则表达式主要用于•正则匹配根据正则表达式匹配相应的内容•正则替换根据正则表达式匹配内容并替换•正则分割根据正则表达式分割字符串在PHP中有两类正则表达式函

知识大全 学习使用PHP数组

入门教程:学习使用PHP数组  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PHP中共有超过个新

知识大全 PHP学习记录(浮点型)

PHP学习记录(浮点型)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  <?php$a=;