Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Сохранение уменьшенной картинки 
:(
    Опции темы
SIMarOK
Дата 5.11.2005, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Здравствуйте, как можно сохранить файл полученный путем уменьшения его скриптом?
Код

<? 
$file_name=$_GET['image']; 
$y=80;#px  //будущий размер изображения в пикселях по высоте 
$simg = getimagesize($file_name); 

$h = $y; 
$w = $h*$simg[0]/$simg[1]; 
    // определим коэффициент сжатия изображения, которое будем генерить 
    $ratio = $w/$h; 
    // создадим пустое изображение по заданным размерам 
    $dest_img = imagecreatetruecolor($w, $h); 
    // зальём его белым цветом 
    imagefill($dest_img, 0, 0, 0xFFFFFF); 
    // получим размеры исходного изображения 
    $size_img = getimagesize($file_name); 
    // получим коэффициент сжатия исходного изображения 
    $src_ratio=$size_img[0]/$size_img[1]; 

    // здесь вычисляем размеры, чтобы при масштабировании сохранились 
    // 1. Пропорции исходного изображения 
    // 2. Исходное изображение полностью помещалось на маленькой копии 
    // (не обрезалось) 
    if ($src_ratio>$ratio) 
    { 
        $old_h=$size_img[1]; 
        $size_img[1]=floor($size_img[0]/$ratio); 
        $old_h=floor($old_h*$h/$size_img[1]); 
    } 
    else 
    { 
        $old_w=$size_img[0]; 
        $size_img[0]=floor($size_img[1]*$ratio); 
        $old_w=floor($old_w*$w/$size_img[0]); 
    } 

    // исходя из того какой тип имеет изображение 
    // выбираем функцию создания 
$path_parts= pathinfo($file_name); 

$ext = $path_parts["extension"]; 
switch ($ext) 
{ 
   case "jpg": 
   $src_img = imagecreatefromjpeg($file_name); 
   break; 

   case "gif": 
   $src_img = imagecreatefromgif($file_name); 
   break; 

    case "png": 
   $src_img = imagecreatefrompng($file_name); 
   break; 

   default: 
     break; 
   exit(); 
}; 
    // масштабируем изображение    функцией 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]); 

    // в зависимости от типа файла выбирвем функцию сохранения в файл 
    switch($ext) 
{ 
case "jpg": 
         header("Content-type: ".image_type_to_mime_type(IMAGETYPE_JPEG)); 
imagejpeg($dest_img); 
break; 

case "gif": 
  header("Content-type: ".image_type_to_mime_type(IMAGETYPE_JPEG)); 
imagejpeg($dest_img); 
break; 

  case "png": 
   header("Content-type: ".image_type_to_mime_type(IMAGETYPE_PNG)); 
imagepng($dest_img); 
break; 
default: 
  exit(); 
break; 
         } 


    // чистим память от созданных изображений 
    imagedestroy($dest_img); 
    imagedestroy($src_img); 






?> 
подключать изображение <img src='preview.php?image=address_image'> 



Пробывал с помощью mave_upladed_file, но она работает только с загружаемыми файлам.

Помогите пождалуйста.

Нужно сохранить в определенном месте на сервере
PM MAIL   Вверх
PARROT
Дата 5.11.2005, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



SIMarOK, Ваша тема должна быть тут: http://forum.vingrad.ru/index.php?showforum=208
Кроме того, таких тем с решением тут http://forum.vingrad.ru/index.php?showforum=208 очень много!


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
SIMarOK
Дата 5.11.2005, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Сохраняется стандартной функцией в php
bool imagejpeg ( resource image [, string filename [, int quality]] )

Где вторым параметром можно указать путь с новым именем.


Всем спасибо.
PM MAIL   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0514 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.