JQuery изменить размер изображения перед сохранением - PullRequest
1 голос
/ 25 мая 2011

Я новичок в 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 пикселей.Мне нужно пропорционально изменить размер (это слово? :))

Любая помощь будет отличной.

С уважением, M

Ответы [ 2 ]

2 голосов
/ 25 мая 2011

Для изменения размера изображений вам нужны такие библиотеки, как GD

. Стандартная функция для этого - скопированная копия GD.

В примере показан один из способов изменения и сохраненияпропорция:

//> 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;
}
0 голосов
/ 25 мая 2011

В PHP, GD или Imagemagick есть две основные вещи для работы с изображениями.Оба смогут сделать то, что вам нужно.Вам нужно будет настроить их на своем веб-сервере PHP.

...