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 相关文章推荐
模拟OICQ的实现思路和核心程序(一)
Oct 09 PHP
关于PHP5 Session生命周期介绍
Mar 02 PHP
PHP 一个页面执行时间类代码
Mar 05 PHP
php 阴历-农历-转换类代码
Jan 16 PHP
基于Zend的Config机制的应用分析
May 02 PHP
thinkphp实现图片上传功能分享
Mar 04 PHP
ThinkPHP之import方法实例详解
Jun 20 PHP
destoon出现验证码不显示时的紧急处理方法
Aug 22 PHP
PHP实现指定字段的多维数组排序函数分享
Mar 09 PHP
php基于jquery的ajax技术传递json数据简单实例
Apr 15 PHP
php版微信公众平台实现预约提交后发送email的方法
Sep 26 PHP
PHP中PDO事务处理操作示例
May 02 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
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
JavaScript多线程详解
2015/08/12 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
JavaScript手风琴页面制作
2017/05/17 Javascript
js图片轮播插件的封装
2017/07/21 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
在Django框架中运行Python应用全攻略
2015/07/17 Python
Python模糊查询本地文件夹去除文件后缀的实例(7行代码)
2017/11/09 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
python实现C4.5决策树算法
2018/08/29 Python
python中多个装饰器的执行顺序详解
2018/10/08 Python
Python subprocess库的使用详解
2018/10/26 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
keras处理欠拟合和过拟合的实例讲解
2020/05/25 Python
使用CSS3配合IE滤镜实现渐变和投影的效果
2015/09/06 HTML / CSS
数学专业毕业生自荐信
2013/11/10 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
个人工作表现评价材料
2014/09/21 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
教师节倡议书2015
2015/04/27 职场文书
学校教师师德师风承诺书
2015/04/28 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书