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 相关文章推荐
兼容firefox,chrome的网页灰度效果
Aug 08 PHP
php中使用preg_match_all匹配文章中的图片
Feb 06 PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
Apr 24 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
php中get_defined_constants函数用法实例分析
May 12 PHP
PHP正则验证Email的方法
Jun 15 PHP
java微信开发之上传下载多媒体文件
Jun 24 PHP
Laravel使用模型实现like模糊查询的例子
Oct 24 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
PHP数组基本用法与知识点总结
Jun 02 PHP
如何在Laravel之外使用illuminate组件详解
Sep 20 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
一个程序下载的管理程序(二)
2006/10/09 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
2012/02/05 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
php中HTTP_REFERER函数用法实例
2014/11/21 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
Date对象格式化函数代码
2010/07/17 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
js鼠标滑过图片震动特效的方法
2015/02/17 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
微信小程序—setTimeOut定时器的问题及解决
2019/07/26 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
JavaScript中的this/call/apply/bind的使用及区别
2020/03/06 Javascript
Vue是怎么渲染template内的标签内容的
2020/06/05 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
跟老齐学Python之重回函数
2014/10/10 Python
浅谈python数据类型及类型转换
2017/12/18 Python
ubuntu中配置pyqt4环境教程
2017/12/27 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
印尼旅游网站:via
2017/11/12 全球购物
大学学年自我鉴定
2013/10/28 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
企业员工集体活动方案
2014/08/17 职场文书
企业培训简报范文
2015/07/20 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书
python元组打包和解包过程详解
2021/08/02 Python