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

HTML+CSS+JavaScript

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

 

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

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

тема: нужен совет по выводу картинки
 
 автор: liberty   (19.06.2013 в 05:17)   письмо автору
 
 

здравствуйте.

вывожу картинки
.logo{ 
  width:100px; 
  height:164px; 
}

 printf ("<img style='margin: 10px;' src='img/rono/%s' align='left'  class='logo' />", $myrow3["img"]);}

размещаю различные гербы.
герб 174 &#215; 205 пикселей с выводом будет 100 х164 - и вроде выглядит нормально
а герб 120 &#215; 123 пикселя выглядит ужасно.

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

  Ответить  
 
 автор: elenaki   (23.06.2013 в 08:54)   письмо автору
 
   для: liberty   (19.06.2013 в 05:17)
 

Не надо фиксировать и ширину и высоту выводимой картинки. Только один параметр - или
ширину или высоту. Что такое "длина" у картинки, не знаю. После вычисления новой ширины
при изменении высоты, снова проверить высоту, чтоб она не вышла за установленные рамки.

на PHP я это делаю так. может, громоздко, зато все понятно. требуемые размеры (не более) 200*150px


if (is_file("photos/mic/".$photo)) {
              $size = getimagesize("photos/mic/".$photo);
                  $width = $size[0]; ///реальная ширина
                  $height = $size[1]; ///реальная высота
                  
                  
              if ($width > $height) {  ///если картинка горизонтальная
                  $prop = $height / $width;  ///пропорции
                  if ($width > 200) $new_width = 200; /// если реальная ширина больше требуемой, делаем ее равной требуемой
                  else $new_width = $width; /// иначе оставляем реальную
                  $new_height = $prop * $new_width; /// находим новую высоту по пропорции
                  
                  /// исправим, если новая высота получилась больше требуемой
                  if ($new_height > 150) { 
                      $prop = $width / $height ; ///пропорции
                      $new_height = 150; //новую высоту делаем требуемой
                      $new_width = $prop * $new_height; ///вычисляем новую ширину по пропорциям
                  }
                  }
              else {  ///если картинка вертикальная
                  $prop = $width / $height ; ///пропорции
                  if ($height > 150) $new_height = 150; //если реальная высота больше требуемой, делаем ее равной требуемой
                  else $new_height = $height;  /// иначе оставляем реальную
                  $new_width = $prop * $new_height; ///находим новую ширину по пропорциям
                  
                  /// исправим, если новая ширина получилась больше требуемой
                  if ($new_width > 200) {
                      $prop = $height / $width;  ///пропорции
                      $new_width = 200; //новую ширину делаем требуемой
                      $new_height = $prop * $new_width; ///вычисляем новую высоту по пропорциям
                  }
                  
              }    

  Ответить  
 
 автор: liberty   (23.06.2013 в 21:22)   письмо автору
 
   для: elenaki   (23.06.2013 в 08:54)
 

спасибо.

  Ответить  
Rambler's Top100
вверх

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