jQuery在保存之前调整图像大小

时间:2011-05-25 17:55:40

标签: php jquery image-processing image-manipulation

我是jQuery的新手,但我非常喜欢它!我有一个问题,我现在还无法解决。

我正在使用http://www.zurb.com/playground/ajax_upload

我使用以下upload.php工作

    <?
$time= time();
$uploaddir = 'users/'; //<--  Changed this to my directory for storing images
$uploadfile = $uploaddir.$time.basename($_FILES['userfile']['name']); //<-- IMPORTANT

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo $uploaddir.$time.$_FILES['userfile']['name']; // IMPORTANT
    #print_r($_FILES);
} else {
  // WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE!
  // Otherwise onSubmit event will not be fired
  echo "error";
}
?>

我添加了时间变量以确保每个图像都是唯一的。我遇到的问题是我想要动态调整大小并优化图像,我不知道该怎么做。

调整大小是我需要的最重要的特征 - 例如,我希望保存的图像的最大宽度为300像素,即使它最初是1000像素宽。我需要按比例调整大小(是一个单词?:))

任何帮助都会很棒。

此致 中号

2 个答案:

答案 0 :(得分:2)

要调整图像大小,您需要像GD这样的库

执行此操作的标准功能是GD的imagecopyresampled。

example中显示了一种调整大小和保持比例的方法:

//> MAx
$width = 200;
$height = 200;

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
} else {
   $height = $width/$ratio_orig;
}

答案 1 :(得分:0)

PHP,GD或Imagemagick中有两个主要的图像处理操作。两者都能够满足您的需求。您需要在PHP Web服务器上配置它们。