Показать сообщение отдельно
  #1 (permalink)  
Старый 30.12.2012, 12:43
Аватар для Vdomah
Интересующийся
Отправить личное сообщение для Vdomah Посмотреть профиль Найти все сообщения от Vdomah
 
Регистрация: 30.12.2012
Сообщений: 29

resize изображения и аналог getimagesize()
Хочу реализовать для js-галереи (http://learn.javascript.ru/play/tuto...ery/index.html) красивое отображение вертикальных и горизонтальных картинок в паспарту одного размера. На ПХП делал так: getimagesiz'ом сравнивал width и height и по результату присваивал картинке один из двух стилей.

Нашел аналог getimagesize для js: http://www.rsdn.ru/forum/web/987244.1
Подставляю эту функцию и пытаюсь присвоить ширину и высоту
function showThumbnail(href, title) {
  var is = getImageSize( 'largeImg');
  largeImg.src = href;
  largeImg.alt = title;
  if (is.width > is.height) largeImg.width = is.width;
  else largeImg.height = is.height;
}

Должно по идее присваивать или ширину или высоту изначальной картинки. Вроде присвоение работает но ужасно. Изображения растягиваются, а иногда при повторном нажатии на один и тот же thumbnail картинка растягивается по вертикали.
function showThumbnail(href, title) {
  var is = getImageSize( 'largeImg');
  largeImg.src = href;
  largeImg.alt = title;
  if (is.width > is.height) largeImg.width = is.width;
/* else largeImg.height = is.height;*/
}

В таком виде ширина у всех картинок одинакова, ничего не растягивается, но вертикальные картинки выходят за паспарту.
function showThumbnail(href, title) {
  var is = getImageSize( 'largeImg');
  largeImg.src = href;
  largeImg.alt = title;
  if (is.width < is.height) largeImg.height = is.height;
/* else largeImg.height = is.height;*/
}

Если так - то же самое, что и в первом варианте.

Т.е. выходит, что ширина нормально присваивается, а высота нет.
Я новичок, так что простите за банальные вопросы. Может все вообще не этим путем надо решать?
Ответить с цитированием