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使之能同时支持GIF和JPEG
Oct 09 PHP
php 从数据库提取二进制图片的处理代码
Sep 09 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 PHP
PHP共享内存用法实例分析
Feb 12 PHP
CI框架数据库查询之join用法分析
May 18 PHP
简单实现php上传文件功能
Sep 21 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
php递归函数怎么用才有效
Feb 24 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 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
晶体管单管来复再生式收音机
2021/03/02 无线电
php htmlspecialchars加强版
2010/02/16 PHP
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
win7系统配置php+Apache+mysql环境的方法
2015/08/21 PHP
js判断背景图片是否加载成功使用img的width实现
2013/05/29 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
JavaScript中document.forms[0]与getElementByName区别
2015/01/21 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
JS前端加密算法示例
2016/12/22 Javascript
javascript基本数据类型和转换
2017/03/17 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
Python实现测试磁盘性能的方法
2015/03/12 Python
python3实现点餐系统
2019/01/24 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
大学生优秀团员事迹材料
2014/01/30 职场文书
简历中的自我评价范文
2014/02/05 职场文书
打架检讨书范文
2015/01/27 职场文书