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实现像JSP,ASP里Application那样的全局变量
Jan 12 PHP
PHP+MySQL 制作简单的留言本
Nov 02 PHP
php 接口类与抽象类的实际作用
Nov 26 PHP
Zend Studio (eclipse)使用速度优化方法
Mar 23 PHP
PHP生成网站桌面快捷方式代码分享
Oct 11 PHP
php获取发送给用户的header信息的方法
Mar 16 PHP
微信API接口大全
Apr 15 PHP
简单介绍PHP非阻塞模式
Mar 03 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
PHP编程实现的TCP服务端和客户端功能示例
Apr 13 PHP
PHP中引用类型和值类型功能与用法示例
Feb 26 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设计模式之简单工厂模式详解
2014/09/04 PHP
ThinkPHP控制器详解
2015/07/27 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
php语法检查的方法总结
2019/01/21 PHP
javascript之可拖动的iframe效果代码
2008/08/01 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
js操作二进制数据方法
2018/03/03 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
layui type2 通过url给iframe子页面传值的例子
2019/09/06 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python中的pprint折腾记
2015/01/21 Python
python itchat实现微信自动回复的示例代码
2017/08/14 Python
python如何定义带参数的装饰器
2018/03/20 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
python生成密码字典的方法
2018/07/06 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
详解python中的数据类型和控制流
2019/08/08 Python
python+OpenCV实现图像拼接
2020/03/05 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
python 如何停止一个死循环的线程
2020/11/24 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
yy婚礼司仪主持词
2014/03/14 职场文书
资产移交协议书
2016/03/24 职场文书
Log4j.properties配置及其使用
2021/08/02 Java/Android