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投票程序源码
Mar 11 PHP
PHP XML备份Mysql数据库
May 27 PHP
PHP form 表单传参明细研究
Jul 17 PHP
自动把纯文本转换成Web页面的php代码
Aug 27 PHP
PHP register_shutdown_function函数的深入解析
Jun 03 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
Oct 23 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
Mar 23 PHP
php preg_match的匹配不同国家语言实例
Dec 29 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
TP5框架实现的数据库备份功能示例
Apr 05 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
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
php DOS攻击实现代码(附如何防范)
2012/05/29 PHP
基于php常用正则表达式的整理汇总
2013/06/08 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
jQuery 浮动广告实现代码
2008/12/25 Javascript
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
2011/09/05 Javascript
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
用python删除java文件头上版权信息的方法
2014/07/31 Python
Python调用C语言开发的共享库方法实例
2015/03/18 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
对pandas中Series的map函数详解
2018/07/25 Python
python pyheatmap包绘制热力图
2018/11/09 Python
python list多级排序知识点总结
2019/10/23 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
Nike澳大利亚官网:Nike.com (AU)
2019/06/03 全球购物
教育技术学专业职业规划书
2014/03/03 职场文书
物业管理专业求职信
2014/06/11 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP
Python借助with语句实现代码段只执行有限次
2022/03/23 Python
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript