PHP实现图片旋转效果实例代码


Posted in PHP onOctober 01, 2014

PHP对图像的旋转

<div>
    <h4>旋转之前</h4>
    <img src="1.png" style="border:1px solid red;">
  </div>
  <?php
  header("content-type","text/html;charset=utf-8");
   
  /*
  *图片沿y轴旋转,以png格式为例
  *@param string $filename 图片的url
  */
  function turn_y($filename)
  {
    /*创建图片资源*/
    $backy = imagecreatefrompng($filename);
  
    /*获取大小*/
    $widthy = imagesx($backy);
    $heighty = imagesy($backy);
  
    /*创建新的图片资源,保存翻转后的图片*/
    $newy = imagecreatetruecolor($widthy, $heighty);
  
    /*沿着y轴翻转,就是将原图从右向左按一个像素宽度向新资源中逐个复制*/
    for ($i=0; $i < $widthy; $i++) { 
      imagecopy($newy,$backy,$widthy-$i-1,0,$i,0,1,$heighty);
    }
  
    /*保存翻转后的图片*/
    imagepng($newy,'test3.png');
  
    /*释放资源*/
    imagedestroy($backy);
    imagedestroy($newy);
  }
  
  /*
  *图片沿x轴旋转,以png格式为例
  *@param string $filename 图片的url
  */
  function turn_x($filename)
  {
    /*创建图片资源*/
    $backx = imagecreatefrompng($filename);
  
    /*获取大小*/
    $widthx = imagesx($backx);
    $heightx = imagesy($backx);
  
    /*创建新的图片资源,保存翻转后的图片*/
    $newx = imagecreatetruecolor($widthx, $heightx);
  
    /*沿着x轴翻转,就是将原图从上到下按一个像素宽度向新资源中逐个复制*/
    for ($i=0; $i < $heightx; $i++) { 
      imagecopy($newx,$backx,0,$heightx-$i-1,0,$i,$widthx,1);
    }
  
    /*保存翻转后的图片*/
    imagepng($newx,'test4.png');
  
    /*释放资源*/
    imagedestroy($backx);
    imagedestroy($newx);
  }
  /*调用函数*/
  turn_y('1.png');
  turn_x('1.png');
  ?>
  <div style="float:left">
    <h4>沿着y轴旋转</h4>
    <img src="test3.png" style="border:1px solid red;">
  </div>
  <div style="float:left">
    <h4>沿着x轴旋转</h4>
    <img src="test4.png" style="border:1px solid red;">
  </div>
PHP 相关文章推荐
php.ini中文版
Oct 09 PHP
用PHP制作静态网站的模板框架(二)
Oct 09 PHP
PHP中一个控制字符串输出的函数
Oct 09 PHP
php中显示数组与对象的实现代码
Apr 18 PHP
回帖脱衣服的图片实现代码
Feb 15 PHP
php缩放gif和png图透明背景变成黑色的解决方法
Oct 14 PHP
PHP直接修改表内容DataGrid功能实现代码
Sep 24 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
Jan 22 PHP
对比分析php中Cookie与Session的异同
Feb 19 PHP
php字符串操作针对负值的判断分析
Jul 28 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 PHP
PHP实现图片裁剪、添加水印效果代码
Oct 01 #PHP
PHP实现绘制3D扇形统计图及图片缩放实例
Oct 01 #PHP
PHP的switch判断语句的“高级”用法详解
Oct 01 #PHP
php中文字符串截取方法实例总结
Sep 30 #PHP
php出现web系统多域名登录失败的解决方法
Sep 30 #PHP
php中运用http调用的GET和POST方法示例
Sep 29 #PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 #PHP
You might like
PHP Ajax中文乱码问题解决方法
2009/02/27 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
JS启动应用程序的一个简单例子
2008/05/11 Javascript
js 加载并解析XML字符串的代码
2009/12/13 Javascript
浏览器页面区域大小的js获取方法
2013/09/21 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
NodeJS Web应用监听sock文件实例
2015/02/18 NodeJs
分享10个原生JavaScript技巧
2015/04/20 Javascript
浅谈Javascript数组索引
2015/07/29 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
2017/09/21 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
Vue组件间的通信pubsub-js实现步骤解析
2020/03/11 Javascript
Python中IPYTHON入门实例
2015/05/11 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
浅谈python 调用open()打开文件时路径出错的原因
2020/06/05 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
施华洛世奇巴西官网:SWAROVSKI巴西
2019/12/03 全球购物
100%羊绒:NakedCashmere
2020/08/26 全球购物
银行求职推荐信范文
2013/11/30 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
爱护环境卫生倡议书
2015/04/29 职场文书
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript