如何在不使用php拇指的情况下获得多种尺寸的图像?

时间:2012-05-03 13:35:50

标签: php javascript jquery

我已经为包机,游艇和其他车辆预订设置了一个管理面板,我想只上传车辆的单个图像,并且需要在不使用phpthumb库的情况下调整多个尺寸的图像,因为它需要太多时间加载列表页面,首先它使图像的缓存,因此它很糟糕。我需要一个简单的方法来调整单个图像的大小,以便管理员不上传该车辆的多个图像。

2 个答案:

答案 0 :(得分:0)

ok this是一个非常好的库,可以满足你的需要。

答案 1 :(得分:0)

我使用了这个功能:

<?php
function getImageXY( $image, $type='original' ) {
    if( $type == 'original' ) {
        $imgDimsMax = 200;
    } else if( $type == 'thumb' ) {
        $imgDimsMax = 60;
    } else if( $type == 'defualt' ) {
        $imgDimsMax = 140;
    }

    $aspectRatio = 1;    // deafult aspect ratio...keep the image as is.

    // set the default dimensions.
    $imgWidth   = $imgDimsMax;
    $imgHeight  = $imgDimsMax;

    list( $width, $height, $type, $attr ) = getimagesize( $image );
    //$imgHeight    = floor ( $height * ( $imgWidth / $width ) );

    if( $width == $height ) {
        // if the image is less than ( $imgDimsMax x $imgDimsMax ), use it as is..
        if( $width < $imgDimsMax ) {
            $imgWidth   = $width;
            $imgHeight  = $height;
        }
    } else {
        if( $width > $height ) {
            // set $imgWidth to $imgDimsMax and resize $imgHeight proportionately
            $aspectRatio    = $imgWidth / $width;
            $imgHeight      = floor ( $height * $aspectRatio );
        } else if( $width < $height ) {
            // set $imgHeight to $imgDimsMax and resize $imgWidth proportionately
            $aspectRatio    = $imgHeight / $height;
            $imgWidth       = floor ( $width * $aspectRatio );
        }
    }

    return array( $imgWidth, $imgHeight );
}
?>

将原始图像和尺寸类型(不同类型提供不同尺寸)传递给它,并返回新的宽度和高度。希望即有帮助。