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

5、PHP对图像的旋转

   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: *图片沿y轴旋转,以png格式为例
  10: *@param string $filename 图片的url
  11: */
  12: function turn_y($filename)
  13: {
  14:     /*创建图片资源*/
  15:     $backy = imagecreatefrompng($filename);
  16:  
  17:     /*获取大小*/
  18:     $widthy = imagesx($backy);
  19:     $heighty = imagesy($backy);
  20:  
  21:     /*创建新的图片资源,保存翻转后的图片*/
  22:     $newy = imagecreatetruecolor($widthy, $heighty);
  23:  
  24:     /*沿着y轴翻转,就是将原图从右向左按一个像素宽度向新资源中逐个复制*/
  25:     for ($i=0; $i < $widthy; $i++) { 
  26:         imagecopy($newy,$backy,$widthy-$i-1,0,$i,0,1,$heighty);
  27:     }
  28:  
  29:     /*保存翻转后的图片*/
  30:     imagepng($newy,'test3.png');
  31:  
  32:     /*释放资源*/
  33:     imagedestroy($backy);
  34:     imagedestroy($newy);
  35: }
  36:  
  37: /*
  38: *图片沿x轴旋转,以png格式为例
  39: *@param string $filename 图片的url
  40: */
  41: function turn_x($filename)
  42: {
  43:     /*创建图片资源*/
  44:     $backx = imagecreatefrompng($filename);
  45:  
  46:     /*获取大小*/
  47:     $widthx = imagesx($backx);
  48:     $heightx = imagesy($backx);
  49:  
  50:     /*创建新的图片资源,保存翻转后的图片*/
  51:     $newx = imagecreatetruecolor($widthx, $heightx);
  52:  
  53:     /*沿着x轴翻转,就是将原图从上到下按一个像素宽度向新资源中逐个复制*/
  54:     for ($i=0; $i < $heightx; $i++) { 
  55:         imagecopy($newx,$backx,0,$heightx-$i-1,0,$i,$widthx,1);
  56:     }
  57:  
  58:     /*保存翻转后的图片*/
  59:     imagepng($newx,'test4.png');
  60:  
  61:     /*释放资源*/
  62:     imagedestroy($backx);
  63:     imagedestroy($newx);
  64: }
  65: /*调用函数*/
  66: turn_y('1.png');
  67: turn_x('1.png');
  68: ?>
  69: <div style="float:left">
  70:     <h4>沿着y轴旋转</h4>
  71:     <img src="test3.png" style="border:1px solid red;">
  72: </div>
  73: <div style="float:left">
  74:     <h4>沿着x轴旋转</h4>
  75:     <img src="test4.png" style="border:1px solid red;">
  76: </div>

效果

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

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

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

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

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

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

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

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

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

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

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

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

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

  7. 图像操作相关 With Quartz 2D

    本文将为大家介绍常见的IOS图像处理操作包括以下四部分:旋转,缩放,裁剪以及像素和UIImage之间的转化,主要使用的知识是quartz2D.Quartz2D是CoreGraphics框架中的一个重要 ...

  8. 基本图像操作和处理(python)

    基本图像操作和处理(python) PIL提供了通用的图像处理功能,以及大量的基本图像操作,如图像缩放.裁剪.旋转.颜色转换等. Matplotlib提供了强大的绘图功能,其下的pylab/pyplo ...

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

    2014 年10个最佳的PHP图像操作库   Thomas Boutell 以及众多的开发者创造了以GD图形库闻名的一个图形软件库,用于动态的图形计算. GD提供了对于诸如C, Perl, Pytho ...

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

    Thomas Boutell 以及众多的开发者创造了以GD图形库闻名的一个图形软件库,用于动态的图形计算. GD提供了对于诸如C, Perl, Python, PHP, OCaml等等诸多编程语言的支 ...

随机推荐

  1. FireMonkey支持的机型

    酷派5890(android 4.1.2) 从截图上看,正常.不知道为啥说不行.海信 T96(android 4.0.3) CPU 不支持 NEON.没辙.摩托罗拉XT885(android 4.0. ...

  2. Java多线程2:实现多线程的两种方式

    原文:http://www.cnblogs.com/skywang12345/p/3479063.html 常见的实现多线程的方式有2种,一是继承Thread类,二是实现 Runnable接口,还可以 ...

  3. Google Hacking技术

    (1)google hack database https://www.exploit-db.com/google-hacking-database/ (2)查找包含某关键字的特定类型文件 命令:关键 ...

  4. AndroidRichText 让Textview轻松的支持富文本(图像ImageSpan、点击效果等等类似QQ微信聊天)

    代码地址:https://github.com/Luction/AndroidRichText AndroidRichText帮助实现像QQ,微信一样的,一个TextView里既有文字又有表情又有图片 ...

  5. Android The content of the adapter has changed but ListView did not receive a notification

    The content of the adapter has changed but ListView did not receive a notification. Make sure the co ...

  6. Help And Manual 帮助文件制作工具

    Help And Manual 简    介 帮助文件制作工具 支持文件格式 26种 其他功能 制作非常专业的使用手册 一个所见即所得的帮助文件制作工具,是市面上功能最强的 WYSIWYG (所见即所 ...

  7. JNI读取assets资源文件

    源自:http://www.rosoo.net/a/201112/15459.html assets目录底下的文件会被打包到一个apk文件里,这些资源在安装时他们并没被解压,使用时是直接从apk中读取 ...

  8. IOS ARC与非ARC混合编译

    要开启ARC的:-fobjc-arc不开启ARC的:-fno-objc-arc 是否使用arc: 在build setting里找automatic reference counting,YES/NO

  9. .propertie文件注释

    在.properties文件中注释,前边加#就可以

  10. bzoj3140

    首先考虑二维的情况 min(x,y)也就意味着确定最小后,另外一维肯定打满 然后最小那个如果是k的话就相当于用k*1次——这不就是行列覆盖吗,二分图秒之 三维呢?考虑到a*b*c<=5000也就 ...