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 12 PHP
php设计模式 FlyWeight (享元模式)
Jun 26 PHP
php mssql扩展SQL查询中文字段名解决方法
Oct 15 PHP
php集成环境xampp中apache无法启动问题解决方案
Nov 18 PHP
php创建、获取cookie及基础要点分析
Jan 26 PHP
php三种实现多线程类似的方法
Oct 30 PHP
详解HTTP Cookie状态管理机制
Jan 14 PHP
PHP云打印类完整示例
Oct 15 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
调试php程序的简单步骤
Oct 04 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 PHP
PHP数组Key强制类型转换实现原理解析
Sep 01 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日历类分享
2014/11/18 PHP
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
JavaScript动态数量的文件上传控件
2016/11/18 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
详解js的作用域、预解析机制
2018/02/05 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
Python实现自动登录百度空间的方法
2017/06/10 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
幼师自荐信
2013/10/26 职场文书
初中生三年学习生活的自我评价
2013/11/03 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
小学生操行评语大全
2014/04/22 职场文书
一体化教学实施方案
2014/05/10 职场文书
倡议书格式模板
2014/05/13 职场文书
国际商务英语专业求职信
2014/07/08 职场文书
女生抽烟检讨书
2014/10/05 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
论文致谢词范文
2015/05/14 职场文书
海底两万里读书笔记
2015/06/26 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书