PHP实现绘制3D扇形统计图及图片缩放实例


Posted in PHP onOctober 01, 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" style="border:1px solid red;">
  </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" style="border:1px solid red;">
  </div>

效果:

PHP实现绘制3D扇形统计图及图片缩放实例

PHP 相关文章推荐
第十二节 类的自动加载 [12]
Oct 09 PHP
用PHP和ACCESS写聊天室(五)
Oct 09 PHP
Zend Guard使用指南及问题处理
Jan 07 PHP
php去除头尾空格的2种方法
Mar 16 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
Apr 17 PHP
浅谈PHP中foreach/in_array的使用
Nov 02 PHP
46 个非常有用的 PHP 代码片段
Feb 16 PHP
PHP中strpos、strstr和stripos、stristr函数分析
Jun 11 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
PHP编程中的Session阻塞问题与解决方法分析
Aug 07 PHP
Laravel向公共模板赋值方法总结
Jun 25 PHP
基于ThinkPHP删除目录及目录文件函数
Oct 28 PHP
PHP的switch判断语句的“高级”用法详解
Oct 01 #PHP
php中文字符串截取方法实例总结
Sep 30 #PHP
php出现web系统多域名登录失败的解决方法
Sep 30 #PHP
php中运用http调用的GET和POST方法示例
Sep 29 #PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 #PHP
PHP中echo,print_r与var_dump区别分析
Sep 29 #PHP
PHP5.3安装Zend Guard Loader图文教程
Sep 29 #PHP
You might like
实用函数5
2007/11/08 PHP
PHP面向对象法则
2012/02/23 PHP
PHP得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
动态表格Table类的实现
2009/08/26 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
2015/02/26 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
详解使用angular框架离线你的应用(pwa指南)
2019/01/31 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
Python中字符串的常见操作技巧总结
2016/07/28 Python
Python中static相关知识小结
2018/01/02 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
财务会计应届生求职信
2013/11/24 职场文书
学生干部的自我评价分享
2014/01/18 职场文书
护士求职自荐信范文
2014/03/19 职场文书
闭幕式主持词
2014/04/02 职场文书
挂靠协议书范本
2014/04/22 职场文书
维稳工作情况汇报
2014/10/27 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书
2015年物业管理工作总结
2015/04/23 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
中学生运动会广播稿
2015/08/19 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书