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 相关文章推荐
Smarty模板快速入门
Jan 04 PHP
php一些公用函数的集合
Mar 27 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
Apr 26 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
使用PHP静态变量当缓存的方法
Nov 13 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 PHP
ThinkPHP函数详解之M方法和R方法
Sep 10 PHP
php获取远程文件的内容和大小
Nov 03 PHP
php中关于换行的实例写法
Sep 26 PHP
php中用unset销毁变量并释放内存
May 10 PHP
imagettftext() 失效,不起作用
Mar 09 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
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
PHP判断远程图片或文件是否存在的实现代码
2014/02/20 PHP
PHP冒泡算法详解(递归实现)
2014/11/10 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
JavaScript Event学习第十章 一些可替换的事件对
2010/02/10 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
javascript设置页面背景色及背景图片的方法
2015/12/29 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
2016/09/28 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
2016/11/17 Javascript
Vue页面跳转动画效果的实现方法
2018/09/23 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
python用字典统计单词或汉字词个数示例
2014/04/22 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
python hash每次调用结果不同的原因
2019/11/21 Python
Python进程的通信Queue、Pipe实例分析
2020/03/30 Python
Django日志及中间件模块应用案例
2020/09/10 Python
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
美术专业学生个人自我评价
2013/09/19 职场文书
市政管理求职信范文
2014/05/07 职场文书
英文求职信范文
2014/05/23 职场文书
社会体育专业大学生职业生涯规划书
2014/09/17 职场文书
考试后的感想
2015/08/07 职场文书