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 相关文章推荐
杏林同学录(七)
Oct 09 PHP
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
Feb 21 PHP
php中apc缓存使用示例
Dec 25 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
Aug 21 PHP
迁移PHP版本到PHP7
Feb 06 PHP
php cli配置文件问题分析
Oct 15 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
Nov 10 PHP
PHP实现git部署的方法教程
Dec 19 PHP
PHP实现一个限制实例化次数的类示例
Sep 16 PHP
php下的原生ajax请求用法实例分析
Feb 28 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
Yii操作数据库的3种方法
2014/03/11 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
通过JS判断联网类型和连接状态的实现代码
2015/04/01 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
PyCharm在win10的64位系统安装实例
2017/11/26 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
用Python读取几十万行文本数据
2018/12/24 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
使用selenium和pyquery爬取京东商品列表过程解析
2019/08/15 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
python字典的值可以修改吗
2020/06/29 Python
Python 防止死锁的方法
2020/07/29 Python
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
C# .NET面试题
2015/11/28 面试题
毕业生应聘幼儿园的自荐信
2013/11/20 职场文书
前台文员我鉴定
2014/01/12 职场文书
大学生创业感言
2014/01/25 职场文书
庆祝国庆节标语
2014/10/09 职场文书
思想品德评语大全
2014/12/31 职场文书
党支部半年考察意见
2015/06/01 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
三年级作文之趣事作文
2019/11/04 职场文书