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日期转时间戳,指定日期转换成时间戳
Jul 17 PHP
基于PHP一些十分严重的缺陷详解
Jun 03 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
Jul 29 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
php中preg_match的isU代表什么意思
Oct 01 PHP
理解php依赖注入和控制反转
May 11 PHP
YII视图整合kindeditor扩展的方法
Jul 13 PHP
php+flash+jQuery多图片上传源码分享
Jul 27 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
Sep 11 PHP
php加密之discuz内容经典加密方式实例详解
Feb 04 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 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
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
JavaScript中的私有成员
2006/09/18 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
cookie 最近浏览记录(中文escape转码)具体实现
2013/06/08 Javascript
javascript跟随滚动效果插件代码(javascript Follow Plugin)
2013/08/03 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
koa源码中promise的解读
2018/11/13 Javascript
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
TensorFlow实现自定义Op方式
2020/02/04 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
你正在寻找的CSS3 动画技术
2011/07/27 HTML / CSS
北体毕业生求职信
2014/02/28 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
爱心捐款倡议书
2014/04/14 职场文书
广播体操比赛口号
2014/06/10 职场文书
服装设计专业求职信
2014/06/16 职场文书
法人代表身份证明书及授权委托书
2014/09/16 职场文书
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书
英语教师个人总结
2015/02/09 职场文书
会计工作能力自我评价
2015/03/05 职场文书
2015年主婚人婚礼致辞
2015/07/28 职场文书
详解Java实现数据结构之并查集
2021/06/23 Java/Android
Elasticsearch 索引操作和增删改查
2022/04/19 Python
Redis实现短信验证码登录的示例代码
2022/06/14 Redis