?
成都创新互联专注于企业营销型网站、网站重做改版、威信网站定制设计、自适应品牌网站建设、H5场景定制、成都做商城网站、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为威信等各大城市提供网站开发制作服务。
//
参数以
a
为参数名传入,
a
的文本形态应该是用“
,
”分割的若干数字连接的字符串
//
这里首先判断
a
是否存在
if($_GET["a"]=="") die("0");
//
将得到的数据分解,存入数组
$shuju
中
$shuju=split(",",$_GET["a"]);
//
再次判断数据的合法性,返回错误代码
if(count($shuju)==0) die("2");
//
定义整个图形的宽度和高度
//
读者可以根据需要修改这两个变量的值
$tukuan=300;
$tugao=150;
//
定义一个数组,用来存放每一个色块的角度范围
$jiaodu = array();
//
定义存贮数据和的变量
$total=0;
//
遍历数组求和
for ($i = 0; $i count($shuju); $i++) {
if(!is_numeric($shuju[$i])) die("1");
$total+=$shuju[$i];
}
//
再次遍历,计算色块角度并存入数组
for ($i = 0; $i count($shuju); $i++) {
array_push ($jiaodu, round(360*$shuju[$i]/$total));
}
//
创建图像
$image = imagecreate($tukuan, $tugao);
//
定义一个灰色背景色
,
这个颜色其实就是大家很熟悉的页面色系
16
进制数字表示的
#EEEEEE
$white = imagecolorallocate($image, 0xEE, 0xEE, 0xEE);
//
再定义
10
对深浅对应的彩色,存入二维数组
$yanse = array(
array(
imagecolorallocate($image, 0x97, 0xbd, 0x00),
imagecolorallocate($image, 0x00, 0x99, 0x00),
imagecolorallocate($image, 0xcc, 0x33, 0x00),
imagecolorallocate($image, 0xff, 0xcc, 0x00),
imagecolorallocate($image, 0x33, 0x66, 0xcc),
imagecolorallocate($image, 0x33, 0xcc, 0x33),
imagecolorallocate($image, 0xff, 0x99, 0x33),
imagecolorallocate($image, 0xcc, 0xcc, 0x99),
imagecolorallocate($image, 0x99, 0xcc, 0x66),
imagecolorallocate($image, 0x66, 0xff, 0x99)
),
array(
imagecolorallocate($image, 0x4f, 0x66, 0x00),
imagecolorallocate($image, 0x00, 0x33, 0x00),
imagecolorallocate($image, 0x48, 0x10, 0x00),
imagecolorallocate($image, 0x7d, 0x64, 0x00),
imagecolorallocate($image, 0x17, 0x30, 0x64),
imagecolorallocate($image, 0x1a, 0x6a, 0x1a),
imagecolorallocate($image, 0x97, 0x4b, 0x00),
imagecolorallocate($image, 0x78, 0x79, 0x3c),
imagecolorallocate($image, 0x55, 0x7e, 0x27),
imagecolorallocate($image, 0x00, 0x93, 0x37)
)
);
//
由下至上画
10
个像素高的深色饼图,作为阴影
$yuanxin_x=$tukuan/
2;
for ($h = $tugao/
2+5; $h $tugao/
2-5; $h--) {
$kaishi=0;
$jieshu=0;
for ($i = 0; $i count($shuju); $i++) {
$kaishi=$kaishi+0;
$jieshu=$kaishi+$jiaodu[$i];
$yanse_i=fmod($i,10);
imagefilledarc($image,$yuanxin_x,$h,$tukuan,$tugao-20,$kaishi,$jieshu,$yanse[1][$yanse_i],IM
G_ARC_PIE);
$kaishi+=$jiaodu[$i];
$jieshu+=$jiaodu[$i];
}
}
//
在最高处
(
也就是
$h
最小时
)
画一个浅色饼图,
这个浅色图跟先画上的深色饼图就能产生立
体效果了
for ($i = 0; $i count($shuju); $i++) {
$kaishi=$kaishi+0;
$jieshu=$kaishi+$jiaodu[$i];
$yanse_i=fmod($i,10);
imagefilledarc($image,
$yuanxin_x,
$h,
$tukuan,
$tugao-20,
$kaishi,
$jieshu,
$yanse[0][$yanse_i], IMG_ARC_PIE);
$kaishi+=$jiaodu[$i];
$jieshu+=$jiaodu[$i];
}
//
设定文件头
header('Content-type: image/png');
//
输出图像
imagepng($image);
//
释放资源
imagedestroy($image);
?
使用方法
在需要显示图像的位置插入如下代码
img src="bing_img.php?a=3,2,3,4"/
a
的文本格式是由“
,
”连接的若干个数据的字符串,
get
方式传入。
画类图一般有以下3个步骤:确定类,识别类的属性和操作,组织类并确定其关系。如下:
1、确定类。确定类是通过对软件需求的分析来完成的。常用的方法包括行为分析、名词识别法、CRC分析等等。其中的名词识别法就是首先把需求或者用例描述中的所有的名词标识出来,把它们作为候选类,然后再对这些候选类逐个进行考察,去掉一些不必要的类。
2、区分是类还是属性。有些标识出来的候选类,实际上更适合作为类的属性,而不适合定义成类。比如会员编号,会员类型这些就适合定义为会员类的属性。
3、组织类并确定其关系。类与类之间的关系有依赖、泛化、实现和关联。在识别出了类、类的属性和操作之后,就要组织这些类并确定类之间的关系。我们通常是以类图的形式来描述类及其关系。
组织类并确定其关系通常分为以下4个步骤:
1、确定类之间的关联关系并标识其多重性。
2、使用继承关系组织类。
3、确定整体和部分的关系。
4、绘制类图。
寻找概念类、绘制UML类图、添加关联和属性。
1、画层类图首先要寻找概念类,概念代表一个图的基本。
2、然后再绘制UML类图,根据概念可以慢慢的绘制UML类图。
3、最后添加上关联和属性就完成了层类图。
生成java代码
首先选择你要生成代码的类图,然后单击菜单栏的Language菜单,选择Generate java code选项。
会出现上图所示的对话框,选择文件输出目录,单击确定就可以了。
2. 生成MySQL语句
首先要在物理数据模型视图下(physical data model)选择菜单栏的Database菜单下的Generate Database,会出现如下对话框:
选择输出目录,你如果只是生成sql脚本,在Generation type选择Script generation就可以了。如果你想直接连接数据库,就选择Direct generation。当然你要用mysql数据库,就必须在创建或者用逻辑或者概念模型生成physical data model时就要把dbms选项选为mysql数据库。