来源:http://www.ido321.com/875.html

1、利用php gd库的函数绘制3D扇形统计图

  1. 1: <?php
  1. 2: header("content-type","text/html;charset=utf-8");
  1. 3: /*扇形统计图*/
  1. 4: $image = imagecreatetruecolor(100, 100); /*创建画布*/
  1. 5:
  1. 6: /*设置画布须要的颜色*/
  1. 7: $white = imagecolorallocate($image,0xff,0xff,0xff);
  1. 8: $gray = imagecolorallocate($image, 0xc0, 0xc0, 0xc0);
  1. 9: $darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
  1. 10: $navy = imagecolorallocate($image, 0x00, 0x00, 0x80);
  1. 11: $darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);
  1. 12: $red = imagecolorallocate($image, 0xff, 0x00, 0x00);
  1. 13: $darkred = imagecolorallocate($image, 0x90, 0x00, 0x00);
  1. 14:
  1. 15: /*填充背景色*/
  1. 16: imagefill($image, 0, 0, $white);
  1. 17:
  1. 18: /*3D制作*/
  1. 19: for($i = 60; $i > 50; $i--)
  1. 20: {
  1. 21: imagefilledarc($image, 50, $i, 100, 50, -160, 40, $darknavy, IMG_ARC_PIE);
  1. 22: imagefilledarc($image, 50, $i, 100, 50, 40, 75, $darkgray, IMG_ARC_PIE);
  1. 23: imagefilledarc($image, 50, $i, 100, 50, 75, 200, $darkred, IMG_ARC_PIE);
  1. 24: }
  1. 25: /*画椭圆弧并填充*/
  1. 26: imagefilledarc($image, 50, 50, 100, 50, -160, 40, $darknavy, IMG_ARC_PIE);
  1. 27: imagefilledarc($image, 50, 50, 100, 50, 40, 75, $darkgray, IMG_ARC_PIE);
  1. 28: imagefilledarc($image, 50, 50, 100, 50, 75, 200, $darkred, IMG_ARC_PIE);
  1. 29:
  1. 30: /*画字符串*/
  1. 31: imagestring($image, 3, 15, 55, "30%", $white);
  1. 32: imagestring($image, 3, 45, 35, "60%", $white);
  1. 33: imagestring($image, 3, 60, 60, "10%", $white);
  1. 34:
  1. 35: /*输出图像*/
  1. 36: header("content-type:image/png");
  1. 37: imagepng($image);
  1. 38:
  1. 39: /*释放资源*/
  1. 40: imagedestroy($image);
  1. 41: ?
  2.  
  3. >

效果:

2、对图片进行缩放

  1. 1: <div>
  1. 2: <h4>原图大小</h4>
  1. 3: <img src="1.png" style="border:1px solid red;">
  1. 4: </div>
  1. 5: <?php
  1. 6: header("content-type","text/html;charset=utf-8");
  1. 7:
  1. 8: /*
  1. 9: *图片缩放
  1. 10: *@param string $filename 图片的url
  1. 11: *@param int $width 设置图片缩放的最大宽度
  1. 12: *@param int $height 设置图片缩放的最大高度
  1. 13: */
  1. 14: function thumb($filename,$width=130,$height=130)
  1. 15: {
  1. 16: /*获取原图的大小*/
  1. 17: list($width_orig,$height_orig) = getimagesize($filename);
  1. 18:
  1. 19: /*依据參数$width和$height,换算出等比例的高度和宽度*/
  1. 20: if($width && ($width_orig < $height_orig))
  1. 21: {
  1. 22: $width = ($height / $height_orig) * $width_orig;
  1. 23: }
  1. 24: else
  1. 25: {
  1. 26: $height = ($width / $width_orig) * $height_orig;
  1. 27: }
  1. 28:
  1. 29: /*以新的大小创建画布*/
  1. 30: $image_p = imagecreatetruecolor($width, $height);
  1. 31:
  1. 32: /*获取图像资源*/
  1. 33: $image = imagecreatefrompng($filename);
  1. 34:
  1. 35: /*使用imagecopyresampled缩放*/
  1. 36: imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
  1. 37:
  1. 38: /*保存缩放后的图片和命名*/
  1. 39: imagepng($image_p,'test.png');
  1. 40:
  1. 41: /*释放资源*/
  1. 42: imagedestroy($image_p);
  1. 43: imagedestroy($image);
  1. 44: }
  1. 45: /*调用函数*/
  1. 46: thumb('1.png');
  1. 47: ?>
  1. 48: <div>
  1. 49: <h4>缩放后的大小</h4>
  1. 50: <img src="test.png" style="border:1px solid red;">
  1. 51: </div>

效果:

PHP图像操作:3D图、缩放、旋转、裁剪、加入水印(一)的更多相关文章

  1. 图像处理之OpenCV - 缩放/旋转/裁剪/加噪声/高斯模糊

    Github地址 @ 缩放 void cv::resize ( InputArray src, OutputArray dst, Size dsize, , , int interpolation = ...

  2. FFMPEG 最简滤镜filter使用实例(实现视频缩放,裁剪,水印等)

    FFMPEG官网给出了FFMPEG 滤镜使用的实例,它是将视频中的像素点替换成字符,然后从终端输出.我在该实例的基础上稍微的做了修改,使它能够保存滤镜处理过后的文件.在上代码之前先明白几个概念: Fi ...

  3. (转)FFMPEG filter使用实例(实现视频缩放,裁剪,水印等)

    本文转载自http://blog.csdn.net/li_wen01/article/details/62442162 FFMPEG官网给出了FFMPEG 滤镜使用的实例,它是将视频中的像素点替换成字 ...

  4. Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移

    Android Bitmap 相关操作 常见的几个操作:缩放,裁剪,旋转,偏移      很多操作需要 Matrix 来支持:Matrix 通过矩阵来处理位图,计算出各个像素点的位置,从而把bitma ...

  5. java多图片上传--前端实现预览--图片压缩 、图片缩放,区域裁剪,水印,旋转,保持比例。

    java多图片上传--前端实现预览 前端代码: https://pan.baidu.com/s/1cqKbmjBSXOhFX4HR1XGkyQ 解压后: java后台: <!--文件上传--&g ...

  6. 【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放具体解释

    本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说,主要通过MFC单文档视图实现显示BMP图片空间几何变换.包含图像平移.图形 ...

  7. 【Java实例】使用Thumbnailator生成缩略图(缩放、旋转、裁剪、水印)

    1 需求 表哥需要给儿子报名考试,系统要求上传不超过30KB的图片,而现在的手机随手一拍就是几MB的,怎么弄一个才30KB的图片呢? 一个简单的办法是在电脑上把图片缩小,然后截屏小图片,但现在的电脑屏 ...

  8. Fresco 二三事:图片处理之旋转、缩放、裁剪切割图片

    关于Fresco加载图片的处理,例如旋转.裁剪切割图片,在官方文档也都有提到,只是感觉写的不太详细,正好最近项目里有类似需求,所以分享一些使用小tip,后面的朋友就不用再走弯路浪费时间了.(测试图片分 ...

  9. 用Js+css3实现图片旋转,缩放,裁剪,滤镜

    还是前端图片的老话题,花了半天时间,东拼西凑,凑出个demo,优点在于代码少,核心代码就6行,目前刚做了旋转,缩放,裁剪,滤镜要js做,网络上也有现成的代码, 但是想做到自定义的滤镜咋办呢?这还要从底 ...

  10. 学习PHP中好玩的Gmagick图像操作扩展的使用

    在 PHP 的图像处理领域,要说最出名的 GD 库为什么好,那就是因为它不需要额外安装的别的什么图像处理工具,而且是随 PHP 源码一起发布的,只需要在安装 PHP 的时候添加上编译参数就可以了. G ...

随机推荐

  1. nigin配置安全:三个案例看Nginx配置安全(转)

    转:https://www.leavesongs.com/PENETRATION/nginx-insecure-configuration.html 三个案例看Nginx配置安全 PHITHON  之 ...

  2. ExtJs之表单(form)

    --Form和Form Basic Extjs Form和Form Basic是两个东西,Form提供界面的展示,而Form Basic则提供数据的处理.验证等功能.每一个Form Panel在创建的 ...

  3. HDU 5669 Road(线段树建树)(分层图最短路)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5669 [分析]线段树建树+分层图最短路 #include <cstdio> #includ ...

  4. 哈尔滨理工大学第七届程序设计竞赛(G.Great Atm)

    Description An old story said the evil dragon wasn't evil at all, only bewitched, and now that the r ...

  5. UML类图—机房收费系统

    UML类图:显示了系统的静态结构,而系统的静态结构构成了系统的概念基础.类图用于对系统中的各种概念进行建模,并描绘他们之间的关系.在类图中,一共包含了一下集中模型元素,分别是:类.接口.依赖关系.关联 ...

  6. SQL中on和where的使用及其差异

    在编写SQL脚本中,多表连接查询操作需要使用到on和where条件,但是经常会混淆两者的用法,从而造成取数错误.为此,使用测试数据进行总结如下: 1.现有两张测试表,table_a和table_b. ...

  7. [LOJ6191][CodeM]配对游戏(概率期望DP)

    n次向一个栈中加入0或1中随机1个,如果一次加入0时栈顶元素为1,则将这两个元素弹栈.问最终栈中元素个数的期望是多少. 首先容易想到用概率算期望,p[i][j][k]表示已加入i个数,1有j个,总长为 ...

  8. 【斜率优化】Average

    [UVa1451]Average 算法竞赛入门经典第8章8-9 ( P243 ) 题目大意:给定一个长度为N的01串,选择一个长度至少为L的连续子串,使序列平均值最大 (N<=100001) 题 ...

  9. [xsy1232]Magic

    题意:一个无向图,每个点有$a_i,b_i$,对任意点$i$你都可以花费$b_i$的费用将$a_i$变为$0$,最后你还要付出$\sum\limits_{i=1}^n\max\limits_{(i,j ...

  10. [Luogu2656]采蘑菇

    题目大意: 给你一个有向图,每条边有一个边权w以及恢复系数k, 你从s点出发乱走,经过某条边时会获得相应的收益w,而当第二次经过这条边时相应的收益为w*k下取整. 问你最大能获得的收益为多少? 思路: ...