PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(一)

来源: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>

效果:

时间: 2025-01-02 04:35:08

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

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

Android Bitmap 相关操作 常见的几个操作:缩放,裁剪,旋转,偏移      很多操作需要 Matrix 来支持:Matrix 通过矩阵来处理位图,计算出各个像素点的位置,从而把bitmap显示出来. matrix里有一个3x3的矩阵,用于图像处理: MSCALE_X MSKEW_X MTRANS_X MSKEW_Y MSCALE_Y MTRANS_Y MPERSP_0 MPERSP_1 MPERSP_2 根据变量名能猜出具体的用途:缩放X 偏移X 平移X偏移Y 缩放Y 平移Y透视0

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

本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP图片空间几何变换,包括图像平移.图形旋转.图像反转倒置镜像和图像缩放的知识.同时文章比较详细基础,没有采用GDI+获取矩阵,而是通过读取BMP图片信息头和矩阵像素实现变换,希望该篇文章对你有所帮助,尤其是初学者和学习图像处理的学生. [数字图像处理]一.MFC详解显示BMP格式图片 [数字图像处理]二.MFC单文档分割窗口显示图片 [数字图像处

python基本图像操作

Python基本图像操作 使用python进行基本的图像操作与处理 前言: 与早期计算机视觉领域多数程序都是由 C/C++ 写就的情形不同.随着计算机硬件速度越来越快,研究者在考虑选择实现算法语言的时候会更多地考虑编写代码的效率和易用性,而不是像早年那样把算法的执行效率放在首位.这直接导致近年来越来越多的研究者选择 Python 来实现算法. 今天在计算机视觉领域,越来越多的研究者使用 Python 开展研究,所以有必要去学习一下十分易用的python在图像处理领域的使用,这篇博客将会介绍如何使

学习笔记TF015:加载图像、图像格式、图像操作、颜色

TensorFlow支持JPG.PNG图像格式,RGB.RGBA颜色空间.图像用与图像尺寸相同(height*width*chnanel)张量表示.通道表示为包含每个通道颜色数量标量秩1张量.图像所有像素存在磁盘文件,需要被加载到内存. 图像加载与二进制文件相同.图像需要解码.输入生成器(tf.train.string_input_producer)找到所需文件,加载到队列.tf.WholeFileReader加载完整图像文件到内存,WholeFileReader.read读取图像,tf.ima

2014 年10个最佳的PHP图像操作库

2014 年10个最佳的PHP图像操作库 Thomas Boutell 以及众多的开发者创造了以GD图形库闻名的一个图形软件库,用于动态的图形计算. GD提供了对于诸如C, Perl, Python, PHP, OCaml等等诸多编程语言的支持. 除了生成HTML输出之外, 你还可以使用php以众多的像 PNG, JPEG, GIF, WBMP,以及 XPM这样的图形文件格式来创建和计算图形文件. 并且,php的使用还能让你可以直接向一个浏览器输出图像流. 为了做到这一点,你需要借助于GD库图像

2014 年10个最佳的PHP图像操作库--留着有用

Thomas Boutell 以及众多的开发者创造了以GD图形库闻名的一个图形软件库,用于动态的图形计算. GD提供了对于诸如C, Perl, Python, PHP, OCaml等等诸多编程语言的支持. 除了生成HTML输出之外, 你还可以使用php以众多的像 PNG, JPEG, GIF, WBMP,以及 XPM这样的图形文件格式来创建和计算图形文件. 并且,php的使用还能让你可以直接向一个浏览器输出图像流. 为了做到这一点,你需要借助于GD库图像功能的使用来编译php. 在这篇文章中,你

iOS手势UIGestureRecognizer识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势) (转)

1.UIGestureRecognizer介绍 手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性. iOS系统在3.2以后,为方便开发这使用一些常用的手势,提供了UIGestureRecognizer类.手势识别UIGestureRecognizer类是个抽象类,下面的子类是具体的手势,开发这可以直接使用这些手势识别. UITapGestureRecognizer UIPinchGestureRecognizer UIRotationGestureRecog

C#中Bitmap类 对图像の操作 可检测图片完整性

public static byte[] BitmapToBytes(Bitmap Bitmap)         {             try             {                 using (MemoryStream ms = new MemoryStream())                 {                     Bitmap.Save(ms, Bitmap.RawFormat);                     byte[]

图像操作小结

花了两天时间弄图像. 今天做一个小结 关于图像操作. 小结 相关类.Drawable  就是一个可画的对象. 官方文档原话是:A Drawable is a general abstraction for "something that can be drawn."Canvas 画布. 官方文档如是说: 用这个类来画一些东西, 前提要有4个基本的部件    1. 一个bitmap用来确定像素. 可以看一下Canvas() 的构造函数, 有三个: Canvas(); Canvas(Bit

3-Highcharts 3D图之3D柱状图分组叠堆3D图

<!DOCTYPE> <html lang='en'> <head> <title>3-Highcharts 3D图之3D柱状图分组叠堆3D图</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script src="../jquery-2.1.4/jquery.min.js&q