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函数
Oct 09 PHP
PHP 文件上传功能实现代码
Jun 24 PHP
国外PHP程序员的13个好习惯小结
Feb 20 PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
简单谈谈favicon
Jun 10 PHP
解决php表单重复提交实现方法
Sep 29 PHP
php实现在线通讯录功能(附源码)
May 13 PHP
CI框架中redis缓存相关操作文件示例代码
May 17 PHP
thinkphp分页集成实例
Jul 24 PHP
php命令行写shell实例详解
Jul 19 PHP
PHP使用Redis实现Session共享的实现示例
May 12 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中文字符串截断无乱码解决方法
2016/10/10 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
jQuery 源码分析笔记(5) jQuery.support
2011/06/19 Javascript
jQuery.extend 函数详解
2012/02/03 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
2015/06/14 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
实现jquery放大镜的两种方法
2018/02/22 jQuery
详解Vue单元测试case写法
2018/05/24 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python FTP操作类代码分享
2014/05/13 Python
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
德国最大的服装、鞋子和配件在线商店之一:Outfits24
2019/07/23 全球购物
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
中秋节主持词
2014/04/02 职场文书
业务员自荐信范文
2014/04/20 职场文书
优质服务演讲稿
2014/05/14 职场文书
迎新晚会策划方案
2014/06/13 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
董存瑞观后感
2015/06/11 职场文书
《山中访友》教学反思
2016/02/24 职场文书
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python
分享Python获取本机IP地址的几种方法
2022/03/17 Python