PHP制作3D扇形统计图以及对图片进行缩放操作实例

 更新时间:2014年10月23日 10:17:13   投稿:hebedich  
这篇文章主要介绍了PHP制作3D扇形统计图以及对图片进行缩放操作实例,需要的朋友可以参考下

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);
?>

效果:

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调用C#开发的dll类库方法

    PHP调用C#开发的dll类库方法

    这篇文章主要介绍了PHP调用C#开发的dll类库方法,包含一个完整的详细的DLL制作步骤和PHP调用方法,需要的朋友可以参考下
    2014-07-07
  • 深入浅析PHP7.0新特征(五大新特征)

    深入浅析PHP7.0新特征(五大新特征)

    PHP7将在2015年10月正式发布,PHP7 ,将会是PHP脚本语言的重大版本更新,同时将带来大幅的性能改进和新的特性,以及改进一些过时功能。该发布版本将会专注在性能加强,源自PHP版本树中的phpng分支
    2015-10-10
  • 超小PHP小马小结(方便查找后门的朋友)

    超小PHP小马小结(方便查找后门的朋友)

    超小PHP小马小结,方便查找后门的朋友,发现相关类似代码可以直接封杀了
    2012-05-05
  • PHP中的一些常用函数收集

    PHP中的一些常用函数收集

    这篇文章主要介绍了PHP中的一些常用函数收集,本文收集了一些时间日期、输出打印、常用字符串函数、常用数组方法,需要的朋友可以参考下
    2015-05-05
  • destoon调用discuz论坛中带图片帖子的实现方法

    destoon调用discuz论坛中带图片帖子的实现方法

    这篇文章主要介绍了destoon调用discuz论坛中带图片帖子的实现方法,是destoon开发中非常实用的一个技巧,需要的朋友可以参考下
    2014-08-08
  • 使用array_map简单搞定PHP删除文件、删除目录

    使用array_map简单搞定PHP删除文件、删除目录

    这篇文章主要介绍了使用array_map简单搞定PHP删除文件、删除目录的相关资料,需要的朋友可以参考下
    2014-10-10
  • php版微信公众账号第三方管理工具开发简明教程

    php版微信公众账号第三方管理工具开发简明教程

    这篇文章主要介绍了php版微信公众账号第三方管理工具开发方法,结合实例形式分析了php基于curl参数传递实现第三方管理功能的相关操作技巧与注意事项,需要的朋友可以参考下
    2016-09-09
  • Zend Framework教程之Resource Autoloading用法实例

    Zend Framework教程之Resource Autoloading用法实例

    这篇文章主要介绍了Zend Framework教程之Resource Autoloading用法,结合实例形式分析了Resource Autoloading实现自动加载的原理及具体使用方法,需要的朋友可以参考下
    2016-03-03
  • PHP实现上传图片到 zimg 服务器

    PHP实现上传图片到 zimg 服务器

    zimg是一个具有图片处理功能的图片存储服务,你可以上传图片到zimg服务器,然后通过带有参数的URL来获取被处理过的图片,今天我们的主要内容是使用php实现图片上传到zimg服务器上,希望大家能够喜欢
    2016-10-10
  • Laravel6.18.19如何优雅的切换发件账户

    Laravel6.18.19如何优雅的切换发件账户

    这篇文章主要给大家介绍了关于Laravel6.18.19如何优雅的切换发件账户的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel6.18.19具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06

最新评论