加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实现绘制3D扇形统计图及图片缩放实例

发布时间:2020-12-12 20:24:44 所属栏目:PHP教程 来源:网络整理
导读:1、利用php gd库的函数绘制3D扇形统计图 / 设置画布需要的颜色 / $white = imagecolorallocate($image,0xff,0xff); $gray = imagecolorallocate($image,0xc0,0xc0); $darkgray = imagecolorallocate($image,0x90,0x90); $navy = imagecolorallocate($image,0

1、利用php gd库的函数绘制3D扇形统计图

/设置画布需要的颜色/
$white = imagecolorallocate($image,0xff,0xff);
$gray = imagecolorallocate($image,0xc0,0xc0);
$darkgray = imagecolorallocate($image,0x90,0x90);
$navy = imagecolorallocate($image,0x00,0x80);
$darknavy = imagecolorallocate($image,0x50);
$red = imagecolorallocate($image,0x00);
$darkred = imagecolorallocate($image,0x00);

/填充背景色/
imagefill($image,$white);

/3D制作/
for($i = 60; $i > 50; $i--)
{
imagefilledarc($image,50,$i,100,-160,40,$darknavy,IMG_ARC_PIE);
imagefilledarc($image,75,$darkgray,200,$darkred,IMG_ARC_PIE);
}
/画椭圆弧并填充/
imagefilledarc($image,IMG_ARC_PIE);
imagefilledarc($image,IMG_ARC_PIE);

/画字符串/
imagestring($image,3,15,55,"30%",$white);
imagestring($image,45,35,"60%",60,"10%",$white);

/输出图像/
header("content-type:image/png");
imagepng($image);

/释放资源/
imagedestroy($image);
?>

效果:

2、对图片进行缩放

原图大小

/
图片缩放
@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,$width,$height,$width_orig,$height_orig);

/*保存缩放后的图片和命名*/
imagepng($image_p,'test.png');

/*释放资源*/
imagedestroy($image_p);
imagedestroy($image);

}
/调用函数/
thumb('1.png');
?>

缩放后的大小

效果:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读