仓酷云

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

[学习教程] PHP编程:图形类->gd.class.php

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:27:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
左手拿着MOTOLOLA右手拿着NOKIA,要多潇洒,有多潇洒,哈哈,终于学会了,但是可能这个时候,又会有人不经意的拍拍肩膀对你说:哥们,别高兴的太早,你还是菜鸟,离学会还差着一大截呢!图形   <?php


class GD{
/*
函数申明
$data:y轴数据(数组)
$graphdata:y轴数据--百分比(数组)
$label:x轴数据(数组)
$height:图象高度
$width:图象宽度
$font:字号
$dot:决意点的巨细
$bg:后台色
$line :线色
$text :文本性
$dotcolor:点色
$file:输入图象文件名
*/
//线形图的函数
function qximage($data , $graphdata, $label , $height, $width , $font, $dot, $bg, $line, $text, $dotcolor, $file)
{
$jc=$height/100;
$fontwidth= imagefontwidth ($font);
$fontheight=imagefontheight($font);
$image= imagecreate ($width,$height+20);
$bg= imagecolorallocate($image ,$bg[0],$bg[1],$bg[2]);
$line=imagecolorallocate($image ,$line[0],$line[1],$line[2]);
$text=imagecolorallocate($image ,$text[0],$text[1],$text[2]);
$dotcolor=imagecolorallocate($image ,$dotcolor[0],$dotcolor[1],$$dotcolor[2]);
imageline ($image,0,0,0,$height,$line);
imageline($image,0,$height,$width,$height,$line);
for ($i=1;$i<11;$i++)
{
imagedashedline($image,0,$height - $jc*$i*10 ,$width ,$height -$jc*$i*10 ,$line );
imagestring ($image,$font,0,$height-$jc*$i*10,$i*10,$text);
}
for ($i=0;$i {
#echo $tmp." ";
$x1=(($width-50)/count($data))*($i)+40;
#echo $x1 ." ";
$y1=$height-$graphdata[$i]*$jc;
$x2=$x1;
$y2=$y1+$graphdata[$i]*$jc;
#echo $y1." ";
imagestring($image,$font,$x1,$y1-2*$fontheight,$graphdata[$i]."%(".$data[$i].")",$text);
imagearc ($image,$x1 ,$y1,$dot,$dot,0,360,$dotcolor);
imagefilltoborder ($image,$x1,$y1,$dotcolor,$dotcolor);
imagestring ($image,$font,$x1,$y2,$label[$i],$text);
if ($i>0)
{
  imageline($image,$tmpx1,$tmpy1,$x1,$y1,$line);
}
$tmpx1=$x1;$tmpy1=$y1;
}
imagegif ($image,$file);
}
//为了便利起见,我又做了一个函数来制造柱型图
/*参数申明:
$graphdata:百分比数据(y轴)
$label:x轴题目
$data:实践数据(y轴)
$graphwidth:图象宽度
$graphheight:图象高度
$graphscale:高度因子(为$graphheight/100)
$graphfont:字体号
$bg;后台色彩值
$text:文本色彩值
$grid:边线色彩值
$bar:柱的色彩值
$bz:备注(不撑持中文呀)
*/
function timage(
$graphdata,$label,$data,
$graphwidth,$graphheight,$graphscale,$graphfont,
$bg,$text,$grid,$bar,$bz)
{
header("Content-type:image/gif");
$image=imagecreate($graphwidth+50,$graphheight+50);
$bgcolor= imagecolorallocate ($image ,$bg[0],$bg[1],$bg[2]);
$textcolor= imagecolorallocate ($image ,$text[0],$text[1],$text[2]);
$gridcolor=imagecolorallocate ($image ,$grid[0],$grid[1],$grid[2]);
$barcolor=imagecolorallocate ($image ,$bar[0],$bar[1],$bar[2]);
$gridabelwidth=imagefontwidth($graphfont)*3+1;
$gridableheight= imagefontheight ($graphfont);
imageline($image,$gridlabelwidth,0,$gridlabelwidth,$graphheight-1,$gridcolor);
imageline($image,0,$graphheight-1,$graphwidth-1,$graphheight-1,$gridcolor);
for($i=0;$i<$graphheight;$i+=$graphheight/10)
{
  imagedashedline ($image,0,$i,$graphwidth-1,$i,$gridcolor);
  imagestring($image,$graphfont,0,$i,round(($graphheight-$i)/$graphscale),$textcolor);
}
$barwidth=(($graphwidth-$gridlabelwidth)/count($graphdata))-30;#
爱飞 该用户已被删除
沙发
发表于 2015-2-16 02:51:57 | 只看该作者
当然这种网站的会员费就几十块钱。
海妖 该用户已被删除
板凳
发表于 2015-3-4 23:13:02 | 只看该作者
爱上php,他也会爱上你。
谁可相欹 该用户已被删除
地板
发表于 2015-3-11 21:18:15 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
简单生活 该用户已被删除
5#
发表于 2015-3-17 18:15:42 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
再见西城 该用户已被删除
6#
发表于 2015-3-18 11:22:42 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
蒙在股里 该用户已被删除
7#
发表于 2015-3-20 09:59:48 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
乐观 该用户已被删除
8#
发表于 2015-3-26 07:17:04 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
活着的死人 该用户已被删除
9#
发表于 2015-3-27 08:09:32 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
若天明 该用户已被删除
10#
发表于 2015-3-31 02:12:52 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
再现理想 该用户已被删除
11#
发表于 2015-4-13 20:04:19 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
分手快乐 该用户已被删除
12#
发表于 2015-4-22 22:00:47 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
只想知道 该用户已被删除
13#
发表于 2015-4-26 20:21:28 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
因胸联盟 该用户已被删除
14#
发表于 2015-5-4 23:40:09 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
兰色精灵 该用户已被删除
15#
发表于 2015-5-6 06:11:02 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
柔情似水 该用户已被删除
16#
发表于 2015-6-7 09:27:02 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
深爱那片海 该用户已被删除
17#
发表于 2015-6-30 00:25:49 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
18#
发表于 2015-7-7 20:50:40 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
小女巫 该用户已被删除
19#
发表于 2015-7-9 04:10:50 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
金色的骷髅 该用户已被删除
20#
 楼主| 发表于 2015-7-11 20:22:29 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-28 12:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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