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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: А как на PHP изменить размер изображения?

Сообщения:  [1-6] 

 
 автор: cheops   (22.02.2006 в 19:58)   письмо автору
 
   для: pengo   (22.02.2006 в 19:43)
 

Посмотрите тему по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=145

   
 
 автор: pengo   (22.02.2006 в 19:43)   письмо автору
 
   для: elenaki   (22.02.2006 в 19:39)
 

cсохранить нужно с новыми размерами.
Если было, то где?

   
 
 автор: elenaki   (22.02.2006 в 19:39)   письмо автору
 
   для: pengo   (22.02.2006 в 19:16)
 

а про сохранить в файл уже было раньше :(.

   
 
 автор: pengo   (22.02.2006 в 19:16)   письмо автору
 
   для: elenaki   (22.02.2006 в 19:08)
 

мне нужно не вывести изображение на экран с новыми размерами, а сохранить его в файл.

   
 
 автор: elenaki   (22.02.2006 в 19:08)   письмо автору
 
   для: pengo   (22.02.2006 в 18:52)
 

установим максимальные размеры:

$maxWidth = 1024;
$maxHeight = 800;


кстати, надо делать меньше размер, место занимают панели, строки состояния и полоса прокрутки...

получим реальные размеры изображения:


  list($width, $height, $type, $attr) = @getimagesize( $localDir.$images );

locaDir - физический путь, images - файл изображения

теперь вычислим новые размеры, соблюдая пропорцию:


$xRatio = $maxWidth / $width; 
$yRatio = $maxHeight / $height; 
           
           if ( ($width <= $maxWidth) && ($height <= $maxHeight) ) { 
             $newWidth = $width; 
             $newHeight = $height; 
           } 
           else if (($xRatio * $height) < $maxHeight) { 
             $newHeight = ceil($xRatio * $height); 
             $newWidth = $maxWidth; 
           } 
           else { 
             $newWidth = ceil($yRatio * $width); 
             $newHeight = $maxHeight; 
           } 
           



теперь можно вывести изображение с новыми размерами:


<img src='".$webDir.$images."' width='$newWidth' height='$newHeight'>


webdir - виртуальный путь к изображению

   
 
 автор: pengo   (22.02.2006 в 18:52)   письмо автору
 
 

Допустим есть изображение 1600х1200. Как из него получить, на пример 1024х800 ни чего не обрезая.
В ФотоШопе для этого применяется функция Image Size.

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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