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

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

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

>

效果:

2、对图片进行缩放

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

    一.Spark streaming Job 架构 SparkStreaming框架会自动启动Job并每隔BatchDuration时间会自动触发Job的调用. Spark Streaming的Job ...

  2. 对TDD原则的理解

    1,在编写好失败的单元测试之前,不要编写任何产品代码    如果不先写测试,那么各个函数就会耦合在一起,最后变得无法测试    如果后写测试,你也许能对大块大块的代码进行测试,但是无法对每个函数进行测 ...

  3. qwb与学姐 (带秩并查集)

    qwb与学姐 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 149  Solved: 54[Submit][Status][Web Board] Des ...

  4. CAS无锁操作

    https://coolshell.cn/articles/8239.html 主要讲的是<Implementing Lock-Free Queues>的论点,具体直接看论文最好.这里总结 ...

  5. phonegap安卓视频播放解决方案

    使用phonegap开发的时候,视频播放很多人一开始选择用html5的Video标签作为备选方案,实际上这种方案在真实环境下常常是无法满足需求的,因为目前HTML5的Video标签只支持MP4,OGG ...

  6. 【BZOJ 1216】 1216: [HNOI2003]操作系统 (模拟+优先队列)

    1216: [HNOI2003]操作系统 Description 写一个程序来模拟操作系统的进程调度.假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的.其中运行优先级用自 ...

  7. 【枚举】【SPFA】Urozero Autumn Training Camp 2016 Day 5: NWERC-2016 Problem I. Iron and Coal

    那个人派出的队伍的行走的路径一定前半程是重合的,后半程分叉开来. 于是预处理每个点离1号点的最短路,到最近的铁的最短路,到最近的煤的最短路.(三次BFS / SPFA)然后枚举分岔点,尝试更新答案即可 ...

  8. 统计个位数的数目 Exercise07_07

    /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:统计个位数的数目 * */ public class Exercise07_07 { public static void m ...

  9. iOS中深拷贝、浅拷贝和retain的区别

    浅拷贝:浅拷贝是对object对象的指针拷贝,让指针指向同一块内存地址,“对象永远只有一个",浅拷贝使对象的引用计数器+1.代码如下: 可以看出不可变字符串的指针指向了同一地址,并没有重新开 ...

  10. Android Toolbar返回按钮颜色修改

    // 代码设置toolbar返回键颜色为白色 val upArrow = ContextCompat.getDrawable(this, R.drawable.abc_ic_ab_back_mater ...