在PHP中调整图像大小后停止图像旋转

时间:2015-11-30 07:18:11

标签: php image

我必须从原始图像创建缩略图图像或介质图像我在下面的代码中使用以调整图像大小,因为当我上传肖像图像时,它会创建缩略图,但它会旋转图像,这对我来说是个问题。我必须在调整图像大小后停止旋转图像,我不知道为什么它是因为下面的代码在横向模式下工作正常。在横向图像正在调整大小,它在调整图像大小后不会旋转,但在纵向图像中,它不能很好地工作,请指导我。
    以下是代码

<?php

error_reporting(0);

//Start code to create thumb image


          $new_images = $_FILES['userfiles']['name'];
          $extension=explode('.',$new_images);
          $extensionname=$extension[1];
          $image=time().$new_images;
          $images=$_FILES['userfiles']['tmp_name'];


        move_uploaded_file($_FILES,"image/".$image);
        $width=300;
        $height=300;

        // Fix Width & Heigh (Auto calculate)
          //  var_dump($images);die;
        $size=GetimageSize($images);
        var_dump($size);
        $height=round($width*$size[1]/$size[0]);

        if($extensionname=="jpg" || $extensionname=="jpeg")
        {
            $images_orig = ImageCreateFromJPEG($images);
        }
        elseif($extensionname=="png")
        {
            $images_orig = imagecreatefrompng($images);
        }
        else
        {
            $images_orig = imagecreatefromgif($images);
        }
        $photoX = ImagesX($images_orig);
        $photoY = ImagesY($images_orig);
        $images_fin = ImageCreateTrueColor($width, $height);
        $transparent=imagecolorallocatealpha($images_fin,255, 255, 255, 127);
        imagealphablending($images_fin, false);
        imagesavealpha($images_fin,true);
        imagefilledrectangle($newImg, 0, 0, $photoX, $photoY, $transparent);
        ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);

        if($extensionname=="jpg" || $extensionname=="jpeg")
        {
            imagejpeg($images_fin,"image/".$image);
        }
        elseif($extensionname=="png")
        {
            imagepng($images_fin,"image/".$image);
        }
        else
         {
            imagegif($images_fin,"image/".$image);
         }

        //var_dump($new_images);
        ImageDestroy($images_orig);
        ImageDestroy($images_fin);

Thanks in Advance 

0 个答案:

没有答案