Resim yeniden boyutlandırma hızlandırmak

0 Cevap php

Sorun: Senaryo yavaş çalışıyor gibi görünüyor. Bu komut farklı görüntü boyutları için dört kez çalıştırılan bir işlev içinde olduğunu. Aşağıdaki kodu hızlandırmak için herhangi bir yolu var mı?

$outputFile = "../data/assets/temp.jpg";
$maxTempWidth  = 45;
$maxTempHeight = 45;
$image_info = getimagesize($setXsmallNewName);

if($image_info['mime'] == 'image/jpeg'){
$image = imagecreatefromjpeg($setXsmallNewName);
}elseif($image_info['mime'] == 'image/gif'){
$image = imagecreatefromgif($setXsmallNewName);
}elseif($image_info['mime'] == 'image/png'||$image_info['mime'] == 'image/x-png'){
    $image = imagecreatefrompng($setXsmallNewName);
}

$width = imagesx( $image );
$height = imagesy( $image );

if ($width > $maxTempWidth || $height > $maxTempHeight){   
    if ( $width > $height ){
        $newwidth = $maxTempWidth;
        $ratio = $maxTempWidth / $width;
        $newheight = floor($height * $ratio);

        if ($newheight > $maxTempHeight){
            $newheight = $maxTempHeight;
            $ratio = $maxTempHeight / $height;
            $newWidth = floor($width * $ratio);
        }
    }else{
        $newheight = $maxTempHeight;
        $ratio = $maxTempHeight / $height;
        $newwidth = floor($width * $ratio);

        if ($newwidth > $maxTempWidth){
            $newwidth = $maxTempWidth;
            $ratio = $maxTempWidth / $width;
            $newheight = floor($height * $ratio);
        }
    }
}else{
    $newwidth = $width;
    $newheight = $height;
}   
$final_image = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($final_image, $image, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

0 Cevap