ホームページ >php教程 >php手册 >PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(三)

PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(三)

WBOY
WBOYオリジナル
2016-06-13 09:24:241293ブラウズ

PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(三)

来源:http://www.ido321.com/887.html

5、PHP对图像的旋转

   1: <p>
   2:     <h4>旋转之前</h4>
   3:     
   4: </p>
   5: <?php
   6: header("content-type","text/html;charset=utf-8");
   7:  
   8: /*
   9: *图片沿y轴旋转,以png&#26684;式为例
  10: *@param string $filename 图片的url
  11: */
  12: function turn_y($filename)
  13: {
  14:     /*创建图片资源*/
  15:     $backy = imagecreatefrompng($filename);
  16:  
  17:     /*获取大小*/
  18:     $widthy = imagesx($backy);
  19:     $heighty = imagesy($backy);
  20:  
  21:     /*创建新的图片资源,保存翻转后的图片*/
  22:     $newy = imagecreatetruecolor($widthy, $heighty);
  23:  
  24:     /*沿着y轴翻转,就是将原图从右向左按一个像素宽度向新资源中逐个复制*/
  25:     for ($i=0; $i < $widthy; $i&#43;&#43;) { 
  26:         imagecopy($newy,$backy,$widthy-$i-1,0,$i,0,1,$heighty);
  27:     }
  28:  
  29:     /*保存翻转后的图片*/
  30:     imagepng($newy,'http://www.bkjia.com/uploads/allimg/141009/0425435558-1.png');
  31:  
  32:     /*释放资源*/
  33:     imagedestroy($backy);
  34:     imagedestroy($newy);
  35: }
  36:  
  37: /*
  38: *图片沿x轴旋转,以png&#26684;式为例
  39: *@param string $filename 图片的url
  40: */
  41: function turn_x($filename)
  42: {
  43:     /*创建图片资源*/
  44:     $backx = imagecreatefrompng($filename);
  45:  
  46:     /*获取大小*/
  47:     $widthx = imagesx($backx);
  48:     $heightx = imagesy($backx);
  49:  
  50:     /*创建新的图片资源,保存翻转后的图片*/
  51:     $newx = imagecreatetruecolor($widthx, $heightx);
  52:  
  53:     /*沿着x轴翻转,就是将原图从上到下按一个像素宽度向新资源中逐个复制*/
  54:     for ($i=0; $i < $heightx; $i&#43;&#43;) { 
  55:         imagecopy($newx,$backx,0,$heightx-$i-1,0,$i,$widthx,1);
  56:     }
  57:  
  58:     /*保存翻转后的图片*/
  59:     imagepng($newx,'http://www.bkjia.com/uploads/allimg/141009/0425432228-2.png');
  60:  
  61:     /*释放资源*/
  62:     imagedestroy($backx);
  63:     imagedestroy($newx);
  64: }
  65: /*调用函数*/
  66: turn_y('http://www.bkjia.com/uploads/allimg/141009/0425435O8-0.png');
  67: turn_x('http://www.bkjia.com/uploads/allimg/141009/0425435O8-0.png');
  68: ?>
  69: <p style="float:left">
  70:     <h4>沿着y轴旋转</h4>
  71:     
  72: </p>
  73: <p style="float:left">
  74:     <h4>沿着x轴旋转</h4>
  75:     
  76: </p>

效果


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。