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 相关文章推荐
火车采集器 免费版使出收费版本功能实现原理
Sep 17 PHP
PHP下对字符串的递增运算代码
Aug 21 PHP
在yii中新增一个用户验证的方法详解
Jun 20 PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 PHP
php实现curl模拟ftp上传的方法
Jul 29 PHP
部署PHP时的4个配置修改说明
Oct 19 PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 PHP
PHP文件操作详解
Dec 30 PHP
php字符集转换
Jan 23 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
PHP定义字符串的四种方式详解
Feb 06 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
javascript 伪数组实现方法
2010/10/11 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
2013/05/27 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
JS实现图片无间断滚动代码汇总
2014/07/30 Javascript
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
2016/09/17 Javascript
python实现异步回调机制代码分享
2014/01/10 Python
python中字典dict常用操作方法实例总结
2015/04/04 Python
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
Python实现程序的单一实例用法分析
2015/06/03 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
Python元组常见操作示例
2019/02/19 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
Python实现微信好友的数据分析
2019/12/16 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
Fairyseason:为个人和批发商提供女装和配件
2017/03/01 全球购物
技校个人求职信范文
2014/01/25 职场文书
软件毕业生个人鉴定
2014/03/03 职场文书
绿色学校实施方案
2014/03/31 职场文书
路政管理求职信
2014/06/18 职场文书
艾滋病宣传标语
2014/06/25 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
2014年城管工作总结
2014/11/20 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
班主任经验交流材料
2014/12/16 职场文书
网吧员工管理制度
2015/08/05 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers