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中的字符串函数
Oct 09 PHP
用PHP实现小型站点广告管理(修正版)
Oct 09 PHP
php win下Socket方式发邮件类
Aug 21 PHP
PHP获取http请求的头信息实现步骤
Dec 16 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
yii2使用ajax返回json的实现方法
May 14 PHP
PHP编程之设置apache虚拟目录
Jul 08 PHP
Yii视图CGridView列表用法实例分析
Jul 12 PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
May 20 PHP
实例分析PHP中PHPMailer发邮件
Dec 13 PHP
PHP精确到毫秒秒杀倒计时实例详解
Mar 14 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定时自动生成静态HTML的实现代码
2010/06/20 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
初识PHP中的Swoole
2016/04/05 PHP
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
JavaScript函数定义的常见注意事项小结
2014/09/16 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
使用vue-router完成简单导航功能【推荐】
2018/06/28 Javascript
vue slot与传参实例代码讲解
2019/04/28 Javascript
vue源码nextTick使用及原理解析
2019/08/13 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
python 查找文件名包含指定字符串的方法
2018/06/05 Python
Python3爬楼梯算法示例
2019/03/04 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
Staples美国官方网站:办公用品一站式采购
2016/07/28 全球购物
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
软件工程师岗位职责
2013/11/16 职场文书
劳动竞赛活动方案
2014/02/20 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
1000字打架检讨书
2014/11/03 职场文书
撤诉书怎么写
2015/05/19 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书