PHP制作3D扇形统计图以及对图片进行缩放操作实例


Posted in PHP onOctober 23, 2014

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

<?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);
?>

效果:

PHP制作3D扇形统计图以及对图片进行缩放操作实例

2、对图片进行缩放

<div>
<h4>原图大小</h4>
<img src="1.png">
</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">
</div>

效果:

PHP制作3D扇形统计图以及对图片进行缩放操作实例

PHP 相关文章推荐
删除数组元素实用的PHP数组函数
Aug 18 PHP
php继承的一个应用
Sep 06 PHP
php注销代码(session注销)
May 31 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
Sep 30 PHP
ThinkPHP处理Ajax返回的方法
Nov 22 PHP
PHP实现的sqlite数据库连接类
Dec 12 PHP
php中fsockopen用法实例
Jan 05 PHP
php获取客户端电脑屏幕参数的方法
Jan 09 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
May 27 PHP
Yii框架表单模型和验证用法
May 20 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
PHP实现本地图片转base64格式并上传
May 29 PHP
PHP制作图形验证码代码分享
Oct 23 #PHP
PHP链接MySQL的常用扩展函数
Oct 23 #PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 #PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 #PHP
20个2014年最优秀的PHP框架回顾
Oct 22 #PHP
PHP获取当前页面URL函数实例
Oct 22 #PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
Oct 22 #PHP
You might like
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
PHP中list方法用法示例
2016/12/01 PHP
PHP那些琐碎的知识点(整理)
2017/05/20 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
vue实现组件之间传值功能示例
2018/07/13 Javascript
JSON的parse()方法介绍
2019/01/31 Javascript
JavaScript常用工具方法封装
2019/02/12 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
[02:35]DOTA2英雄基础教程 末日使者
2013/12/04 DOTA
pycharm安装图文教程
2017/05/02 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
Python threading模块condition原理及运行流程详解
2020/10/05 Python
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
事业单位请假制度
2014/01/13 职场文书
大二法英学生职业生涯规划范文
2014/02/27 职场文书
2014幼儿园小班工作总结
2014/11/10 职场文书
初婚初育证明范本
2014/11/24 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
玄武湖导游词
2015/02/05 职场文书
公司承诺书格式范文
2015/04/28 职场文书
国庆节新闻稿
2015/07/17 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers
Python中可变和不可变对象的深入讲解
2021/08/02 Python