public static function resize($image, $size)
    {
        if (!$image) {
            return false;
        }

        list($width, $height) = self::parseSize($size);

        if ($height == 'auto' && $width == 'auto') {
            return false;
        }

        $o_wd = imagesx($image);
        $o_ht = imagesy($image);

        $x = $y = 0;
        if ($height == 'auto') {
            $height = round(($width / $o_wd) * $o_ht);
        } elseif ($width == 'auto') {
            $width = round(($height / $o_ht) * $o_wd);
        } elseif ($width && !$height) {
            //make square image
            $height = $width;
            if ($o_wd > $o_ht) {
                $x = ceil(($width - $height) / 2);
                $o_wd = $o_ht;
            } elseif ($o_ht > $o_wd) {
                $y = ceil(($height - $width) / 2);
                $o_ht = $o_wd;
            }
        } else {
            $w = round($o_wd * $height / $o_ht);
            $h = round($o_ht * $width / $o_wd);

            if (($height - $h) < ($width - $w)) {
                $width = &$w;
            } else {
                $height = &$h;
            }
        }

        $tmp = imageCreateTrueColor($width, $height);
        imagesavealpha($tmp, true);
        $color = imagecolorallocatealpha($tmp, 0x00, 0x00, 0x00, 127);
        imagefill($tmp, 0, 0, $color);
        imagecopyresampled($tmp, $image, 0, 0, $x, $y, $width, $height, $o_wd, $o_ht);

        return $tmp;
    }
public static function resize($image, $size)
    {
        if (!$image) {
            return false;
        }

        list($width, $height) = self::parseSize($size);

        if ($height == 'auto' && $width == 'auto') {
            return false;
        }

        $o_wd = imagesx($image);
        $o_ht = imagesy($image);

        $x = $y = 0;
        if ($height == 'auto') {
            $height = round(($width / $o_wd) * $o_ht);
        } elseif ($width == 'auto') {
            $width = round(($height / $o_ht) * $o_wd);
        } elseif ($width && !$height) {
            //make square image
            $height = $width;
            if ($o_wd > $o_ht) {
                $x = ceil(($width - $height) / 2);
                $o_wd = $o_ht;
            } elseif ($o_ht > $o_wd) {
                $y = ceil(($height - $width) / 2);
                $o_ht = $o_wd;
            }
        } else {
            $w = round($o_wd * $height / $o_ht);
            $h = round($o_ht * $width / $o_wd);

            if (($height - $h) < ($width - $w)) {
                $width = &$w;
            } else {
                $height = &$h;
            }
        }

        $tmp = imageCreateTrueColor($width, $height);
        imagesavealpha($tmp, true);
        $color = imagecolorallocatealpha($tmp, 0x00, 0x00, 0x00, 127);
        imagefill($tmp, 0, 0, $color);
        imagecopyresampled($tmp, $image, 0, 0, $x, $y, $width, $height, $o_wd, $o_ht);

        return $tmp;
    }
public static function resize ( $ image , $ size ) { if ( ! $ image ) { return false ; } list ( $ width , $ height ) = self :: parseSize ( $ size ) ; if ( $ height == 'auto' && $ width == 'auto' ) { return false ; } $ o_wd = imagesx ( $ image ) ; $ o_ht = imagesy ( $ image ) ; $ x = $ y = 0 ; if ( $ height == 'auto' ) { $ height = round ( ( $ width / $ o_wd ) * $ o_ht ) ; } elseif ( $ width == 'auto' ) { $ width = round ( ( $ height / $ o_ht ) * $ o_wd ) ; } elseif ( $ width && ! $ height ) { //make square image $ height = $ width ; if ( $ o_wd > $ o_ht ) { $ x = ceil ( ( $ width - $ height ) / 2 ) ; $ o_wd = $ o_ht ; } elseif ( $ o_ht > $ o_wd ) { $ y = ceil ( ( $ height - $ width ) / 2 ) ; $ o_ht = $ o_wd ; } } else { $ w = round ( $ o_wd * $ height / $ o_ht ) ; $ h = round ( $ o_ht * $ width / $ o_wd ) ; if ( ( $ height - $ h ) < ( $ width - $ w ) ) { $ width = & $ w ; } else { $ height = & $ h ; } } $ tmp = imageCreateTrueColor ( $ width , $ height ) ; imagesavealpha ( $ tmp , true ) ; $ color = imagecolorallocatealpha ( $ tmp , 0x00 , 0x00 , 0x00 , 127 ) ; imagefill ( $ tmp , 0 , 0 , $ color ) ; imagecopyresampled ( $ tmp , $ image , 0 , 0 , $ x , $ y , $ width , $ height , $ o_wd , $ o_ht ) ; return $ tmp ; }
Resizes an image using the passed size and return the resized image resource.

@param resource $image The image resource
@param string   $size  The image size

@return resource
Resizes an image using the passed size and return the resized image resource .