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

Разное

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

 

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

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

тема: Алгебраическая задача
 
 автор: NIK   (02.03.2006 в 15:36)   письмо автору
 
 

Приветствую всех. У меня такая задача, скорее по алгебре, чем про программированию. Вот написал приложение для создания превьюшек изображений в новостях в стороннию CMS. Но вот никак не допрёт как правильно высчитывать новые размеры.

Итак, ширина превьюшки должна быть максимум 450, если ширина > 450, то высота должна пропорционально уменьшаться.

Пробовал две формулы.

1)

#####################################################
# $img_width - реальная ширина                                      
# $img_height и $img_real_height - реальная высота 
#####################################################

$img_real_height = $img_height;           // резервируем реальную высоту
$width_diff = $img_width - 450;     // выясняем, на сколько мы урезали изображение
$img_height = $img_height - $width_diff;  // новая уменьшанная высота изображения


2) Эту формулу мне подсказали -

#####################################################
# $img_width - реальная ширина                                             
# $img_height и $img_real_height - реальная высота        
#####################################################

$img_real_height = $img_height;           // резервируем реальную высоту
$width_diff = $img_width - 450;            // на сколько мы урезали изображение в ширине
$one_percent = $width_diff/100;             // 1% от того, на сколько урезали
$thirty_percent = 30*$one_percent;         // 30% от того, на сколько урезали
$img_height = $width_diff - $thirty_percent; // новая уменьшанная высота изображения


Но всё это не то.

Например по первой формуле 1600х1400 обрезается до 450х50, по второй формуле до 450х805. Однако к примеру нормально сжимается размер 500х375 (до 450х360, по второй формуле).

Я думаю стоит делать проверку, если высота больше ширины на N-число или процент, то урезаем по второй формуле. Если же меньше, то оставляем как есть. Даже и не знаю. Хочется чтобы всё было как нужно

   
 
 автор: Sergey89   (02.03.2006 в 16:07)   письмо автору
 
   для: NIK   (02.03.2006 в 15:36)
 

-

   
 
 автор: Sergey89   (02.03.2006 в 16:10)   письмо автору
 
   для: NIK   (02.03.2006 в 15:36)
 


$img_height = $img_real_height/($img_real_width/450); // новая уменьшанная высота изображения 

   
 
 автор: NIK   (02.03.2006 в 18:10)   письмо автору
 
   для: Sergey89   (02.03.2006 в 16:10)
 

огромное спасибо!!!

   
Rambler's Top100
вверх

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