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 和 MySQL 基础教程(二)
Oct 09 PHP
社区(php&amp;&amp;mysql)四
Oct 09 PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
php 获取完整url地址
Dec 20 PHP
php 生成文字png图片的代码
Apr 17 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
thinkPHP模板中函数的使用方法示例
Nov 30 PHP
PHP将整数数字转换为罗马数字实例分享
Mar 17 PHP
PHP如何将图片文件上传到另外一台服务器上
Aug 26 PHP
php模式设计之观察者模式应用实例分析
Sep 25 PHP
基于laravel where的高级使用方法
Oct 10 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与MySQL交互使用详解
2006/10/09 PHP
PHP提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
PHP实现PDO操作mysql存储过程示例
2019/02/13 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
javascript 运算数的求值顺序
2011/08/23 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
vue实现放大镜效果
2020/09/17 Javascript
Vue 实现拨打电话操作
2020/11/16 Javascript
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python下os模块强大的重命名方法renames详解
2017/03/07 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
详解python深浅拷贝区别
2019/06/24 Python
python mysql断开重连的实现方法
2019/07/26 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
酒店管理毕业生自荐信
2014/05/25 职场文书
村级四风对照检查材料
2014/08/24 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
校园广播稿范文
2015/08/19 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书