请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 4637|回复: 10

[php] [原创]发散思维学习PHP [复制链接]

fonqing 楼主

一路蹒跚

钻石会员 手机认证 

帖子
3788
体力
8325
威望
7
居住地
山东省 潍坊市
发表于 2007-12-7 17:15:38 |显示全部楼层
初学PHP!
看这个题目,我觉得又把标题妖化了!
不过我觉得,也许我的想法可能会给大家的学习来点思路!

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


举例说明:
今天学习PHP的图像函数部分,学习了几个函数,他们分别是:
getimagesize()
  1. array getimagesize ( string $filename [, array &$imageinfo ] )
  2. getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 IMG 标记中的 height/width 文本字符串。
复制代码

imagecreatefromgif()
  1. resource imagecreatefromgif ( string $filename )
  2. imagecreatefromgif() 返回一图像标识符,代表了从给定的文件名取得的图像。
  3. 意思就是以后为了方便使用这个图片资源,这个函数返回一个操作的句柄。
  4. 类似的函数还有imagecreatefromjpeg(),imagecreatefrompng()  当然还有很多,大家可以看官方在线手册
复制代码

imagecolorat()
  1. int imagecolorat ( resource $image , int $x , int $y )
  2. 返回 image 所指定的图形中指定位置像素的颜色索引值。
复制代码

imagecolorsforindex()
  1. array imagecolorsforindex ( resource $image , int $index )
  2. 本函数返回一个具有 red,green,blue 和 alpha 的键名的关联数组,包含了指定颜色索引的相应的值。
复制代码


大家看了一段生硬的介绍,估计困了,不过请坚持一下!

那么学了这几个函数后,怎么练习一下呢?
其实我学到这几个函数,就立即想到了一个很好玩的东西可以做!
是什么?你猜猜~!!!!
看代码:

  1. <?php
  2.         $url        = "logo-yy.gif";
  3.         $size   = getimagesize($url);
  4.         $width         = $size[0];
  5.         $height = $size[1];
  6.         $im         = imagecreatefromgif($url);
  7.        
  8.        
  9.         for($y=1;$y<$height;$y++){
  10.                 for($x=1;$x<$width;$x++){
  11.                         $color_index = imagecolorat($im, $x, $y);
  12.                         $color_tran = imagecolorsforindex($im, $color_index);
  13.                         echo("<span class=\"c\" style=\"color:RGB(".$color_tran['red'].",".$color_tran['green'].",".$color_tran['blue'].");\">");
  14.                         echo("爱");
  15.                         echo("</span>");
  16.                 }
  17.                         echo("<br>");
  18.         }
  19. ?>
复制代码


要注意的是我的程序里用的函数是imagecreatefromgif()
所以变量$url指向的文件应该是GIF格式的,如果想指向JPG格式的文件要用imagecreatefromjpeg()
当然我们可以写在一起,因为第一个函数就可以判断图片的格式,我在这里就不写了!!哈哈
好了,有php环境的赶紧试试是什么吧!呵呵

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


[ 本帖最后由 fonqing 于 2007-12-7 17:19 编辑 ]
已有 1 人评分威望 收起 理由
kuhanzhu + 1 原创内容。一套自己比较好的学习方法

总评分: 威望 + 1   查看全部评分

PHP定制 QQ:31301678
西部数码顶级域名注册商39元抢注!

苦寒竹

管理员

帖子
19774
体力
17933
威望
23
居住地
浙江省 金华市
发表于 2007-12-7 18:22:06 |显示全部楼层
能够综合几个函数的功能,并研究出好玩的东西,很不错的方法及灵感。
上面的代码,是由“爱”字组合成了$url    = "logo-yy.gif"的模样。
搞IT的穷秀才。
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

灰色系

银牌会员

帖子
2419
体力
2377
威望
11
居住地
湖北省 黄冈市
发表于 2007-12-8 17:22:05 |显示全部楼层
带着兴趣去学习是最好的学习方法

使用道具 举报

kran 

老蔡

银牌会员

帖子
2291
体力
1537
威望
0
居住地
北京市 朝阳区
发表于 2007-12-10 11:30:19 |显示全部楼层

 提示:您可以先修改部分代码再运行

使用道具 举报

深空 

可爱宝贝

荣誉管理 手机认证 

帖子
10004
体力
19449
威望
57
居住地
广东省 深圳市
发表于 2007-12-10 23:46:55 |显示全部楼层
这些个函数效率都很低,还是尽量避免使用
getimagesize 用在检测上传文件类型的时候比较严格.

使用道具 举报

帖子
335
体力
1343
威望
0
居住地
山东省 青岛市
发表于 2007-12-11 00:30:11 |显示全部楼层
其实每一门语言语法就是背背,关键是思想背不出来,需要长期实践!

使用道具 举报

xnini 
帖子
5
体力
13
威望
0
居住地
内蒙古自治区 呼和浩特市
发表于 2007-12-11 10:21:11 |显示全部楼层
有兴趣,就有干劲.
我哈哈哈哈

使用道具 举报

帖子
33
体力
141
威望
0
居住地
广东省 深圳市
发表于 2007-12-11 15:07:52 |显示全部楼层

 提示:您可以先修改部分代码再运行


[ 本帖最后由 flashow 于 2007-12-11 15:14 编辑 ]

使用道具 举报

huntx 
帖子
4
体力
46
威望
0
居住地
浙江省 杭州市
发表于 2007-12-12 01:35:34 |显示全部楼层
有意思...不过我用gif的,,,这个爱字显示成了问号"?"

用jpeg的图,就正常.

使用道具 举报

帖子
88
体力
395
威望
0
居住地
北京市 海淀区
发表于 2007-12-12 11:20:06 |显示全部楼层
我发现了另外一个用途了
现在不是有十字绣么
可以当十字绣图的软件使用了

使用道具 举报

帖子
109
体力
212
威望
0
居住地
四川省 眉山市
发表于 2008-4-17 15:14:35 |显示全部楼层

回复 huntx 在 9# 的帖子

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-13 10:16 , Processed in 0.119226 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部