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加密解密的代码
Oct 09 PHP
PHP通用检测函数集合
Nov 25 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 PHP
使用PHP会话(Session)实现用户登陆功能
Jun 29 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 PHP
php生成圆角图片的方法
Apr 07 PHP
php使用Jpgraph绘制3D饼状图的方法
Jun 10 PHP
提交表单后 PHP获取提交内容的实现方法
May 25 PHP
Thinkphp框架开发移动端接口(1)
Aug 18 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
May 09 PHP
PHP连接sftp并下载文件的方法教程
Aug 26 PHP
Laravel find in set排序实例
Oct 09 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
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
jquery ajax请求实例深入解析
2012/11/26 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
JS常用函数和常用技巧小结
2016/10/15 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
详解ES6中的代理模式——Proxy
2018/01/08 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
koa socket即时通讯的示例代码
2018/09/07 Javascript
python实现矩阵和array数组之间的转换
2019/11/29 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
几道Java和数据库的面试题
2013/05/30 面试题
幼儿教师寄语集锦
2014/04/03 职场文书
活动宣传策划方案
2014/05/23 职场文书
服务承诺书怎么写
2014/05/24 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
关于感谢信的范文
2015/01/23 职场文书
工程部文员岗位职责
2015/02/04 职场文书
详解Python requests模块
2021/06/21 Python
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python