仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1658|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页设计PHP剧本的10个技能(转自ZDNet) --静态...

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:24:51 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的东西,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。创立|静态|技能|剧本   静态创立图像

在装置了某些第三方函数库以后,联合你的图形处置妙技,你就能够用PHP创立和处置图象了。现实上,你也不需求太高的几何学常识。我在中学的时分这门作业老是不合格,如今不也照样会用PHP创立图象!

在利用根基的图象创立函数之前,你需求装置GD库。假如要用到和JPEG相干的图象创立函数你还需求装置jpeg-6b。在图象中利用Type 1字体的时分还必需装置t1lib。

在这里,你还需求对你的体系停止进一步地调剂。起首,你必需装置t1lib以供应图像处置撑持,接上去要装置jpeg-6b。第三步是装置GD函数库。你得按按次做完这三件任务,缘由是你需求编译GD库才干利用jpeg-6b库,假如jpeg-6b步起首装置,编译就会失足,到那时分你就是忙的团团转也没举措了。

在装置完以上的三个函数库以后,你还要从头设置装备摆设PHP。这可是你在装置PHP的DSO版本时的拿手好戏噢!接着履行make clean,号令,然后在以后设置装备摆设唆使符里到场以下代码:

--with-gd=[/path/to/gd]
--with-jpeg-dir=[/path/to/jpeg-6b]
--with-t1lib=[/path/to/t1lib]

最初按次履行make、make install号令完成配制义务。从头启动 Apache,运转phpinfo()函数反省性新功效是不是正常运转。

和你装置的GD库有关,你能够或不成能具有创立GIF或PNG图象的才能。关头在于:假如你已装置了gd-1.6或初期版本,那末你可以处置GIF但不克不及处置PNG。假如装置了gd-1.6或今后版本,你可以处置PNG但又不克不及处置GIF。

创立一个复杂的图象需求采取好几个函数。我会按步调带你进修这一进程:

输入一个文件头,个中包括了你所创立图象的MIME类型,在咱们的例子中就是PNG。

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

利用ImageCreate()创立一个变量寄存空白图象。该函数需求以像素为单元的图象巨细。格局是ImageCreate(x_size, y_size),对250-X-250像素的图象而言,用法以下:

$newImg = ImageCreate(250,250);

由于你的图象如今仍是空白,所以你还要想法用某些色采填满它,然而,起首你需求依照色彩的RGB值为每种色彩分派名字,这要用到ImageColorAllocate()函数。函数的格局是ImageColorAllocate([image], [red], [green], [blue])。假如是天蓝色,详细代码以下:

$skyblue = ImageColorAllocate($newImg,136,193,255);

接着,你需求挪用ImageFill()函数为图象填充以上的色彩。ImageFill(),函数有好几个版本,好比ImageFillRectangle(), ImageFillPolygon()等等。为复杂起见,咱们就采取ImageFill()函数停止色彩填充,格局以下:

ImageFill([image], [start x point], [start y point], [color])
ImageFill($newImg,0,0,$skyblue);

最初,你创立了图象并损坏图象流以释放内存:

ImagePNG($newImg);
ImageDestroy($newImg); ?>

详细的代码看起来很像上面的模样:

<? header ("Content-type: image/png");
$newImg = ImageCreate(250,250);
$skyblue = ImageColorAllocate($newImg,136,193,255);
ImageFill($newImg,0,0,$skyblue);
ImagePNG($newImg);
ImageDestroy($newImg);
?>

假如你挪用这个剧本skyblue.php 并用本人的阅读器会见它,你就会看到一个250-X-250像素大的蓝色PNG图象。

你还可以用图象创立函数处置图象,好比创立大型图象的缩微图等。

假定你盘算为某个图片制造一个35-X-35像素巨细的缩微图。你要做到就是创立一个新的35 X 35 像素巨细的图象;制作出一个包括其原始图象内容的图象流;然后改动原始图象的巨细,并把它放到新的空白图象中去。

用来到达以上目标的关头函数就是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]);

以下是代码正文。

<? /* send a header so that the browser knows the content-type of the file */
header("Content-type: image/png");

/* set up variables to hold the height and width of your new image */
$newWidth = 35;
$newHeight = 35;

/* create a blank, new image of the given new height and width */
$newImg = ImageCreate($newWidth,$newHeight);

/* get the data from the original, large image */
$origImg = ImageCreateFromPNG("test.png");

/* copy the resized image. Use the ImageSX() and ImageSY functions to get the x and y sizes of the orginal image. */
ImageCopyResized($newImg,$origImg,0,0,0,0,$newWidth,$newHeight,ImageSX($origImg),ImageSY($origImg));

/* create final image and free up the memory */
ImagePNG($newImg);
ImageDestroy($newImg); ?>

假如你挪用了以上剧本resized.php 并用本人的阅读器会见它,你应当能看到一个35-X-35像素巨细的缩微PNG图。
  怎么配置呢 ,问最好的老实百度,问啥都有答案。所以用好搜索引擎是学好的令1个关键,程序会出各样的问题,没有1个人可能会碰到所有的问题,所有就可以问百度这个大家精华的集合了。
爱飞 该用户已被删除
沙发
 楼主| 发表于 2015-3-17 12:09:40 | 显示全部楼层
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-13 19:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表