如题:
我在GD库里面找不到实现对图片垂直翻转的函数,请大侠们指点一下。。万分感激!

解决方案 »

  1.   

    提问的次数不多。SO.
    来吧,老田给我回答一个,好让我结贴率上升上去··
    http://topic.csdn.net/u/20091211/23/51ff0779-894d-40dc-90c9-073893b0a13c.html
    这是OLD~OLD的问题了~帮我也答案了哈
      

  2.   

    imagerotate 是旋转,不是翻转/** 图片翻转,0 默认 垂直翻转,非0 水平翻转 **/
    function imageReversal(&$im, $mode=0) {
      $x = imagesx($im);
      $y = imagesy($im);
      $dim = imagecreatetruecolor($x, $y);
      if($mode == 0) {
        for($i=0; $i<$y; $i++) {
          imagecopy($dim, $im, 0, $i, 0, $y-$i, $x, 1);
        }
      }else{
        for($i=0; $i<$x; $i++) {
          imagecopy($dim, $im, $i, 0, $x-$i, 0, 1, $y);
        }
      }  imagecopy($im, $dim, 0, 0, 0, 0, $x, $y);
    }用法:
    $im = imagecreatefromgif('test.gif');
    imageReversal($im, 1); //水平翻转
    imagegif($im);
      

  3.   

    多谢你的回复 ,实现垂直翻转我不知到是翻转的是什么角度啊。imagerotate这个函数从1度到359度都没有垂直翻转的效果。。能否给多点提示吗~~
      

  4.   

    function imageReversal(&$im, $mode=0)//这里 0 就行了。
      

  5.   

    呃~~已经结贴了,还是回一下吧。<?php
    // File 
    $filename = 'csdn.png';
    // Content type
    header('Content-type: image/png');
    // Load
    $source = imagecreatefrompng($filename);
    // Size
    list($width,$height) = $imgInfo  = getimagesize($filename);
    // 创建新图
    $im = imagecreatetruecolor($width, $height);
    // 垂直翻转
    for($i=0;$i<$width;$i++) {
        for($j=0;$j<$height;$j++) {
            imagesetpixel ($im, $i, $j,  imagecolorat($source,$i,$height-$j-1));
        }
    }
    // Output
    imagepng($im);
    imagedestroy($im);
    ?>