打印

[php] [原创]发散思维学习PHP

初学PHP!
看这个题目,我觉得又把标题妖化了!
不过我觉得,也许我的想法可能会给大家的学习来点思路!

我觉得在学习的过程中,大家要知道“玩”,制造点成就感,那样的话 学习的效果和热情就会很高涨,
就会更喜欢自己学习的东西!


举例说明:
今天学习PHP的图像函数部分,学习了几个函数,他们分别是:
getimagesize()
复制内容到剪贴板
代码:
array getimagesize ( string $filename [, array &$imageinfo ] )
getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 IMG 标记中的 height/width 文本字符串。
imagecreatefromgif()
复制内容到剪贴板
代码:
resource imagecreatefromgif ( string $filename )
imagecreatefromgif() 返回一图像标识符,代表了从给定的文件名取得的图像。
意思就是以后为了方便使用这个图片资源,这个函数返回一个操作的句柄。
类似的函数还有imagecreatefromjpeg(),imagecreatefrompng()  当然还有很多,大家可以看官方在线手册
imagecolorat()
复制内容到剪贴板
代码:
int imagecolorat ( resource $image , int $x , int $y )
返回 image 所指定的图形中指定位置像素的颜色索引值。
imagecolorsforindex()
复制内容到剪贴板
代码:
array imagecolorsforindex ( resource $image , int $index )
本函数返回一个具有 red,green,blue 和 alpha 的键名的关联数组,包含了指定颜色索引的相应的值。
大家看了一段生硬的介绍,估计困了,不过请坚持一下!

那么学了这几个函数后,怎么练习一下呢?
其实我学到这几个函数,就立即想到了一个很好玩的东西可以做!
是什么?你猜猜~!!!!
看代码:
复制内容到剪贴板
代码:
<?php
    $url    = "logo-yy.gif";
    $size   = getimagesize($url);
    $width     = $size[0];
    $height = $size[1];
    $im     = imagecreatefromgif($url);
    
    
    for($y=1;$y<$height;$y++){
        for($x=1;$x<$width;$x++){
            $color_index = imagecolorat($im, $x, $y);
            $color_tran = imagecolorsforindex($im, $color_index);
            echo("<span class=\"c\" style=\"color:RGB(".$color_tran['red'].",".$color_tran['green'].",".$color_tran['blue'].");\">");
            echo("爱");
            echo("</span>");
        }
            echo("<br>");
    }
?>
要注意的是我的程序里用的函数是imagecreatefromgif()
所以变量$url指向的文件应该是GIF格式的,如果想指向JPG格式的文件要用imagecreatefromjpeg()
当然我们可以写在一起,因为第一个函数就可以判断图片的格式,我在这里就不写了!!哈哈
好了,有php环境的赶紧试试是什么吧!呵呵

不建议用太大的图片!小logo就好了!
不然,你可别怪我没告诉你啊!
这个例子没什么实际用途!!但是他可以激发大家学习的乐趣!!
献给正在学习PHP的人!


[ 本帖最后由 fonqing 于 2007-12-7 17:19 编辑 ]
本帖最近评分记录
  • kuhanzhu 威望 +1 原创内容。一套自己比较好的学习方法 2007-12-7 18:10
能够综合几个函数的功能,并研究出好玩的东西,很不错的方法及灵感。
上面的代码,是由“爱”字组合成了$url    = "logo-yy.gif"的模样。
乐于助人、严格管理、言多必失。无知者无罪。Keep your waiting,I am come back.
编程资源:http://book.kuhanzhu.com
对管理有异议,请前往事物区进行投诉。请勿PM。
带着兴趣去学习是最好的学习方法


 提示:您可以先修改部分代码再运行
燃起了我心中的一团火.

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
这些个函数效率都很低,还是尽量避免使用
getimagesize 用在检测上传文件类型的时候比较严格.

TOP

其实每一门语言语法就是背背,关键是思想背不出来,需要长期实践!

TOP

有兴趣,就有干劲.
我哈哈哈哈

TOP



 提示:您可以先修改部分代码再运行
[ 本帖最后由 flashow 于 2007-12-11 15:14 编辑 ]

TOP

有意思...不过我用gif的,,,这个爱字显示成了问号"?"

用jpeg的图,就正常.

TOP

我发现了另外一个用途了
现在不是有十字绣么
可以当十字绣图的软件使用了

TOP

回复 huntx 在 9# 的帖子

应该是编码问题,用 utf-8就没问题
www.minchao.cn

TOP