PHP实现图片旋转效果实例代码

5年以前  |  阅读数:1028 次  |  编程语言:PHP 

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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例