X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> как пережать картинку
Licoric
Licoric
Topic Starter сообщение 16.4.2010, 16:24; Ответить: Licoric
Сообщение #1


Я хочу наваять скрипт загрузки изображений на фтп с последующей обработкой. Сам. Дабы понять, как это работает.

Хотелось бы загружать фотку прямо с, образно говоря, фотика в оригинале. Выхлоп в виде 320 на 240 либо 240 на 320 px (пропорциональное уменьшение). Не суть. Уменьшенная и пережатая по качеству фотка. Дабы с 2-4 мегабайт она весила от силы 100 кб.

С чего начать?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 16.4.2010, 16:41; Ответить: alexdrob
Сообщение #2


[PHP]function resizeimg($filename, $smallimage, $w, $h)
{
// Имя файла с масштабируемым изображением
$filename = "../".$filename;
// Имя файла с уменьшенной копией.
$smallimage = "../".$smallimage;
// определим коэффициент сжатия изображения, которое будем генерить
$ratio = $w/$h;
// получим размеры исходного изображения
$size_img = getimagesize($filename);
// Если размеры меньше, то масштабирования не нужно
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
// получим коэффициент сжатия исходного изображения
$src_ratio=$size_img[0]/$size_img[1];

// Здесь вычисляем размеры уменьшенной копии, чтобы при масштабировании сохранились
// пропорции исходного изображения
if ($ratio<$src_ratio)
{
$h = $w/$src_ratio;
}
else
{
$w = $h*$src_ratio;
}
// создадим пустое изображение по заданным размерам
$dest_img = imagecreatetruecolor($w, $h);
$white = imagecolorallocate($dest_img, 255, 255, 255);
if ($size_img[2]==2) $src_img = imagecreatefromjpeg($filename);
else if ($size_img[2]==1) $src_img = imagecreatefromgif($filename);
else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename);

// масштабируем изображение функцией imagecopyresampled()
// $dest_img - уменьшенная копия
// $src_img - исходной изображение
// $w - ширина уменьшенной копии
// $h - высота уменьшенной копии
// $size_img[0] - ширина исходного изображения
// $size_img[1] - высота исходного изображения
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
// сохраняем уменьшенную копию в файл
if ($size_img[2]==2) imagejpeg($dest_img, $smallimage);
else if ($size_img[2]==1) imagegif($dest_img, $smallimage);
else if ($size_img[2]==3) imagepng($dest_img, $smallimage);
// чистим память от созданных изображений
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}[/PHP]

применение
[PHP]resizeimg($bigimage, $smallimage, 133, 100); [/PHP]
функция не моя, не помню где брал...но работала отлично.
После загрузки фотки вызываете функцию для фотки и создаётся уменьшенная копия
Смотрите функция и разбирайтесь как работает)) на подобии сделайте свою)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Exterior
Exterior
сообщение 17.4.2010, 0:49; Ответить: Exterior
Сообщение #3


Licoric, вот целый набор, делал для себя, точне для какого-то там сайта. Все откомментировано. Если разберешься в моем мозголоме - пользуй на здоровье.
[attachment=36433:thumbgalery.rar]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 17.4.2010, 2:24; Ответить: Licoric
Сообщение #4


Блин - пока писал вопрос уже сам во всем разобрался. Инструкция без коментов просто.
Но ничего - пытливый ум взял измором)))
Еще раз спасибо за работу для мозгов.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1124 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
12 uahomka 2299 25.3.2024, 6:52
автор: Skyworker
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
28 metvekot 3922 25.3.2024, 6:34
автор: Skyworker
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
23 freeax 3652 24.3.2024, 20:55
автор: Liudmila
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1947 23.3.2024, 7:41
автор: Room


 



RSS Текстовая версия Сейчас: 29.3.2024, 17:42
Дизайн