Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Пропорциональное уменьшение картинок
 
 автор: mihdan   (20.12.2006 в 17:04)   письмо автору
 
 

Мне необходим скрипт\функция для пропорционального уменьшения картинок по ширине и высоте до одного размера, например, чтобы после работы получилось изображение размером 137 Х 80. И все другие были бы такие же. У меня есть скрипт, котрый делает копии маленькие, но они разные на выходе, то по ширине то по длине.

Заранее благодарен.
Принимаю работы в любом виде.

   
 
 автор: malish   (20.12.2006 в 18:00)   письмо автору
 
   для: mihdan   (20.12.2006 в 17:04)
 

такое возможно если ты будешь постоянно аплодить картинки с таким же соотношением высоты/ширины...

   
 
 автор: cheops   (20.12.2006 в 20:45)   письмо автору
 
   для: mihdan   (20.12.2006 в 17:04)
 

Можно модифицировать решение в теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=145:
<?php
  
function resizeimg($filename$smallimage$w$h
  { 
    
// получим размеры исходного изображения 
    
$size_img getimagesize($filename); 
    
// Если размеры меньше, то масштабирования не нужно 
    
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true

    
// создадим пустое изображение по заданным размерам 
    
$dest_img imagecreatetruecolor($w$h);   
    
$white imagecolorallocate($dest_img255255255);        
    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_img0000$w$h$size_img[0], $size_img[1]);                 
    
// сохраняем уменьшенную копию в файл 
    
if ($size_img[2]==2)  imagejpeg($dest_img$smallimage);                       
    else if (
$size_img[2]==1imagegif($dest_img$smallimage);                       
    else if (
$size_img[2]==3imagepng($dest_img$smallimage); 
    
// чистим память от созданных изображений 
    
imagedestroy($dest_img); 
    
imagedestroy($src_img); 
    return 
true;          
  }
?>

   
 
 автор: masterhost   (20.12.2006 в 21:08)
 
   для: cheops   (20.12.2006 в 20:45)
 

А можно полученный результат выдавать сразу в браузер, а не сохранять в файл?

   
 
 автор: cheops   (20.12.2006 в 21:21)   письмо автору
 
   для: masterhost   (20.12.2006 в 21:08)
 

Такое решение можно найти в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=18518.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования