sss-justdDoIt

判断是否需要旋转

    /**
             *iphone判断图片方向,是否需要旋转图片
             */
            if(strpos($_SERVER[\'HTTP_USER_AGENT\'], \'iPhone\')&&in_array($ext, array(\'jpg\',\'png\',\'gif\',\'jpeg\',\'jepg\'))){
                $exif =exif_read_data($tmp);
                switch ($exif[\'Orientation\']){
                    case 6:
                        self::imgturn($tmp,1,$ext);
                        break;
                    case 3:
                        self::imgturn($tmp,1,$ext);
                        self::imgturn($tmp,1,$ext);
                        break;
                    case 8:
                        self::imgturn($tmp,2,$ext);
                        break;
                }
            }

 

 

一下是php旋转方法

function imgturn($src, $direction = 1,$ext) {
        switch ($ext) {
            case \'gif\' :
                $img = imagecreatefromgif ( $src );
                break;
            case \'jepg\':
            case \'jpg\' :
            case \'jpeg\' :
                $img = imagecreatefromjpeg ( $src );
                break;
            case \'png\' :
                $img = imagecreatefrompng ( $src );
                break;
            default :
                die ( \'图片格式错误!\' );
                break;
        }
        $width = imagesx ( $img );
        $height = imagesy ( $img );
        $img2 = imagecreatetruecolor ( $height, $width );
        // 顺时针旋转90度
        if ($direction == 1) {
            for($x = 0; $x < $width; $x ++) {
                for($y = 0; $y < $height; $y ++) {
                    imagecopy ( $img2, $img, $height - 1 - $y, $x, $x, $y, 1, 1 );
                }
            }
        } else if ($direction == 2) {
            // 逆时针旋转90度
            for($x = 0; $x < $height; $x ++) {
                for($y = 0; $y < $width; $y ++) {
                    imagecopy ( $img2, $img, $x, $y, $width - 1 - $y, $x, 1, 1 );
                }
            }
        }
        switch ($ext) {
            case \'jepg\':
            case \'jpg\' :
            case "jpeg" :
                imagejpeg ( $img2, $src, 100 );
                break;
            
            case "gif" :
                imagegif ( $img2, $src, 100 );
                break;
            
            case "png" :
                imagepng ( $img2, $src, 100 );
                break;
            
            default :
                die ( \'图片格式错误!\' );
                break;
        }
        imagedestroy ( $img );
        imagedestroy ( $img2 );
    }

 

分类:

技术点:

相关文章: