黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 网管频道 >> *NIX网管 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[组图]Linux环境下如何使用PHP处理图像
      ★★★★

Linux环境下如何使用PHP处理图像

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-3-1 9:56:18

 

  三、创建图像步骤

  在PHP中创建一个图像通常需要以下四个步骤:

  1. 创建一个背景图像,以后所以操作但是基于此背景。

  2. 在图像上绘图轮廓或或者输入文本。

  3. 输出最终图形。

  4. 清除内存中所有资源。

  下面我们看一个应用实例,一个带“PHP”标签的正方型。脚本如下:

<?php

$height = 300;

$width = 300;

$im = ImageCreateTrueColor($width, $height);

$white = ImageColorAllocate ($im, 255, 255, 255);

$blue = ImageColorAllocate ($im, 0, 0, 64);

ImageFill($im, 0, 0, $blue);

ImageLine($im, 0, 0, $width, $height, $white);

ImageString($im, 4, 80, 150, 'PHP', $white);

Header ('Content-type: image/png');

ImagePng ($im);

ImageDestroy($im);

?>

  最后把这一小段脚本保存为si1.php,然后用浏览器对它进行访问,就可以看到一个300×300像素大小的PNG格式的图像,见图3。



图3 PNG图像格式输出到浏览器的界面

 下面我们详细讲解创建图像过程:

  1. 创建一个背景图

  要在PHP中建立或者修改一个图像,必须首先建立一个图像标示符号。这里提供调用函数:来实现,如下所示:

  $im = ImageCreateTrueColor($width, $height)

  然后为这个函数传递两个参数:第一个是新图像宽度,第二个是新图像高度。该函数将返回新图像的标示符号。

  2. 在图像上绘图、打印文本

  在一个图像上绘图和打印文本需要两个步骤:1.首先选择颜色。这里通过调用函数$im = ImageCreateTrueColor()为图像选择颜色。颜色由红、绿、蓝(RGB)值的组合决定。这里使用了两种颜色:

  $white = ImageColorAllocate ($im, 255, 255, 255);

  $blue = ImageColorAllocate ($im, 0, 0, 64);

  然后需要使用其他函数将颜色绘制到图像中。这些函数的选择取决于要绘制的内容:直线、弧形、多边行或者文本。上面的脚本si1.php,一共使用了三个函数:

  ImageFill($im, 0, 0, $blue);

  这个函数以图像标示符号、绘图区域的起始坐标(X和Y)以及颜色为参数。{注意PHP中图像的起始坐标从左上角开始,该点坐标为X=0,Y=0.图像右下角的坐标X=$width ,Y=$height。这于常规作图习惯是相反的。}

  ImageLine($im, 0, 0, $width, $height, $white);

  这个函数以图像标示符号、直线的起始点的X和Y坐标以及颜色为参数。这样就从左上角(0,0)开始划一条直线到图像右下角($width, $height)。

  最后我们在该图像中添加一共标签:

  ImageString($im, 4, 50, 150, ‘PHP’, $white);

  这个函数以图像标示符号、字体、文本的起始坐标(X和Y)以及颜色为参数。字体参数值范围从1-5之间的数字。这里选择的是TrueType字体。

  3.输出最终图形

  可以将图像输出到浏览器或者一共文件。上面的例子中直接输出到浏览器。包括两个部分:.

  A.首先告诉Web浏览器我们输出的是一个图像而不是文本或者HTML。

  我们发送一个图形头来“欺骗”浏览器,使它认为我们的PHP页面是一幅真正的图像,这样它才可以正确显示在屏幕上。服务器将以二进制数据流的形式把程序产生的信息发送到浏览器。这里使用函数指定图像的MIME类型来完成:

  Header (‘Content-type: image/png’);

  通常在使用浏览器接受一共文件时候,Apache Web服务器首先发送的内容是MIME类型。对于PHP页面是:

  Content-type: text/html

  B.发送标题数据后,下面使用如下函数输出图像数据。

  ImagePng ($im);

  该函数以PNG格式将输出内容发送到浏览器。

  C. 清除资源

  当完成对一共图像的处理后,应当使用销毁图像标示符号,然后将所占用的选题资源返回给Web服务器。这里调用函数ImageDestroy()完成:

  ImageDestroy():

  ImageDestroy($im);

  这样作是为了降低CPU负荷。如果你不使用该函数在Web端有太多这样的图片产生任务,你可能会发现导致性能下降。

上一页  [1] [2] [3] 下一页

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886