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 相关文章推荐
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
Jun 01 PHP
php获取qq用户昵称和在线状态(实例分析)
Oct 27 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
Dec 25 PHP
ThinkPHP模板自定义标签使用方法
Jun 26 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
Dec 17 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
Mar 21 PHP
PHP正则获取页面所有图片地址
Mar 23 PHP
thinkPHP5.0框架环境变量配置方法
Mar 17 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
PHP memcache在微信公众平台的应用方法示例
Sep 13 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
Oct 08 PHP
laravel 执行迁移回滚示例
Oct 23 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常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
2018/12/09 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
python中的随机函数小结
2018/01/27 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
python实现定时提取实时日志程序
2018/06/22 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
简单的Python人脸识别系统
2020/07/14 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
期末考试动员演讲稿
2014/01/10 职场文书
颐和园的导游词
2015/01/30 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python