1、利用php gd库的函数绘制3D扇形统计图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?php
header( "content-type" , "text/html;charset=utf-8" );
/*扇形统计图*/
$image = imagecreatetruecolor(100, 100); /*创建画布*/
/*设置画布需要的颜色*/
$white = imagecolorallocate( $image ,0xff,0xff,0xff);
$gray = imagecolorallocate( $image , 0xc0, 0xc0, 0xc0);
$darkgray = imagecolorallocate( $image , 0x90, 0x90, 0x90);
$navy = imagecolorallocate( $image , 0x00, 0x00, 0x80);
$darknavy = imagecolorallocate( $image , 0x00, 0x00, 0x50);
$red = imagecolorallocate( $image , 0xff, 0x00, 0x00);
$darkred = imagecolorallocate( $image , 0x90, 0x00, 0x00);
/*填充背景色*/
imagefill( $image , 0, 0, $white );
/*3D制作*/
for ( $i = 60; $i > 50; $i --)
{
imagefilledarc( $image , 50, $i , 100, 50, -160, 40, $darknavy , IMG_ARC_PIE);
imagefilledarc( $image , 50, $i , 100, 50, 40, 75, $darkgray , IMG_ARC_PIE);
imagefilledarc( $image , 50, $i , 100, 50, 75, 200, $darkred , IMG_ARC_PIE);
}
/*画椭圆弧并填充*/
imagefilledarc( $image , 50, 50, 100, 50, -160, 40, $darknavy , IMG_ARC_PIE);
imagefilledarc( $image , 50, 50, 100, 50, 40, 75, $darkgray , IMG_ARC_PIE);
imagefilledarc( $image , 50, 50, 100, 50, 75, 200, $darkred , IMG_ARC_PIE);
/*画字符串*/
imagestring( $image , 3, 15, 55, "30%" , $white );
imagestring( $image , 3, 45, 35, "60%" , $white );
imagestring( $image , 3, 60, 60, "10%" , $white );
/*输出图像*/
header( "content-type:image/png" );
imagepng( $image );
/*释放资源*/
imagedestroy( $image );
?>
|
效果:
2、对图片进行缩放
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
<div>
<h4>原图大小</h4>
<img src= "1.png" style= "border:1px solid red;" >
</div>
<?php
header( "content-type" , "text/html;charset=utf-8" );
/*
*图片缩放
*@param string $filename 图片的url
*@param int $width 设置图片缩放的最大宽度
*@param int $height 设置图片缩放的最大高度
*/
function thumb( $filename , $width =130, $height =130)
{
/*获取原图的大小*/
list( $width_orig , $height_orig ) = getimagesize ( $filename );
/*根据参数$width和$height,换算出等比例的高度和宽度*/
if ( $width && ( $width_orig < $height_orig ))
{
$width = ( $height / $height_orig ) * $width_orig ;
}
else
{
$height = ( $width / $width_orig ) * $height_orig ;
}
/*以新的大小创建画布*/
$image_p = imagecreatetruecolor( $width , $height );
/*获取图像资源*/
$image = imagecreatefrompng( $filename );
/*使用imagecopyresampled缩放*/
imagecopyresampled( $image_p , $image , 0, 0, 0, 0, $width , $height , $width_orig , $height_orig );
/*保存缩放后的图片和命名*/
imagepng( $image_p , 'test.png' );
/*释放资源*/
imagedestroy( $image_p );
imagedestroy( $image );
}
/*调用函数*/
thumb( '1.png' );
?>
<div>
<h4>缩放后的大小</h4>
<img src= "test.png" style= "border:1px solid red;" >
</div>
|
效果: