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 中的输出缓冲
Dec 21 PHP
php代码运行时间查看类代码分享
Aug 06 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
Jun 25 PHP
php创建多级目录的方法
Mar 24 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
PHP使用socket发送HTTP请求的方法
Feb 14 PHP
php实现数组中出现次数超过一半的数字的统计方法
Oct 14 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
Oct 14 PHP
php libevent 功能与使用方法详解
Mar 04 PHP
TP5框架实现签到功能的方法分析
Apr 05 PHP
php访问对象中的成员的实例方法
Nov 17 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
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
JS中style属性
2006/10/11 Javascript
jQuery 全选/反选以及单击行改变背景色实例
2013/07/02 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
js replace 全局替换的操作方法
2018/06/12 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
python删除特定文件的方法
2015/07/30 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
django商品分类及商品数据建模实例详解
2020/01/03 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
个人自我鉴定
2013/11/07 职场文书
大学生表扬信范文
2014/01/09 职场文书
会计工作心得体会
2014/01/13 职场文书
回门宴父母答谢词
2014/01/26 职场文书
教师先进事迹材料
2014/12/16 职场文书
催款函怎么写
2015/06/24 职场文书
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL
mysql中关键词exists的用法实例详解
2022/06/10 MySQL
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript