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中基本符号及使用方法
Mar 23 PHP
PHP 字符串正则替换函数preg_replace使用说明
Jul 15 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
Mar 11 PHP
PHP调用VC编写的COM组件实例
Mar 29 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
Mar 25 PHP
33道php常见面试题及答案
Jul 06 PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 PHP
PHP实现链式操作的原理详解
Sep 16 PHP
PHPCMS忘记后台密码的解决办法
Oct 30 PHP
thinkPHP通用控制器实现方法示例
Nov 23 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
php解析非标准json、非规范json的方式实例
Dec 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
PHP Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
js保留两位小数使用toFixed实现
2013/07/29 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
AngularJS的表单使用详解
2015/06/17 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
2015/08/10 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
vue服务端渲染缓存应用详解
2018/09/12 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
基于vue写一个全局Message组件的实现
2019/08/15 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
微信小程序如何获取用户头像和昵称
2019/09/23 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
js实现点击烟花特效
2020/10/14 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
跟老齐学Python之类的细节
2014/10/13 Python
列举Python中吸引人的一些特性
2015/04/09 Python
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
python实现测试工具(一)——命令行发送get请求
2020/10/19 Python
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
销售副总经理岗位职责
2013/12/11 职场文书
分层教学实施方案
2014/03/19 职场文书
JS前端canvas交互实现拖拽旋转及缩放示例
2022/08/05 Javascript