Javascript.RU

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

Сообщение от Раед Посмотреть сообщение
Den1xxx,
Истиный размер узнаётся через naturalWidth/naturalHeight. Но, это, по-моему, не кроссбраузерно.
В хроме работает-и не знал что такое есть
Ответить с цитированием
  #12 (permalink)  
Старый 09.05.2012, 20:36
Аватар для FreeStyler
Аспирант
Отправить личное сообщение для FreeStyler Посмотреть профиль Найти все сообщения от FreeStyler
 
Регистрация: 13.09.2009
Сообщений: 52

Сообщение от Раед Посмотреть сообщение
Den1xxx,
Истиный размер узнаётся через naturalWidth/naturalHeight. Но, это, по-моему, не кроссбраузерно.
ну натурал не поддерживают ишаки до 9 как написано на английском...
почему-то это не предлагать?? -_- маны, первоисточники на инглише если что... и это вообще 2ой язык программиста!

Для себя так сделал:

this.width=this.naturalWidth
Ответить с цитированием
  #13 (permalink)  
Старый 12.06.2012, 10:57
Аватар для Den1xxx
Интересующийся
Отправить личное сообщение для Den1xxx Посмотреть профиль Найти все сообщения от Den1xxx
 
Регистрация: 15.07.2010
Сообщений: 17

Сообщение от FreeStyler Посмотреть сообщение
ну натурал не поддерживают ишаки до 9 как написано на английском...
почему-то это не предлагать?? -_- маны, первоисточники на инглише если что... и это вообще 2ой язык программиста!

Для себя так сделал:

this.width=this.naturalWidth
Немного не то решение.

Напомню проблему. Скриптом всем закачанными пользователем картинкам задаётся одинаковая ширина. Это чтобы слишком большие картинки не поломали дизайн.
Но иногда пользователи закачивают картинки меньше заданной ширины, они принудительно растягиваются до заданного размера, что выглядит некрасиво. Дело осложняется ещё тем, что картинка может быть вставлена и со стороннего сервера, так что проверять размер на сервере — не вариант.

Вот что получилось у меня в итоге (здесь 200 — ограничение размера картинки):
<img onload="var img=new Image(); img.src=this.src; if(img.width>200) this.width=200; else this.width=img.width;" src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" width="200px">

Последний раз редактировалось Den1xxx, 12.06.2012 в 11:25.
Ответить с цитированием
  #14 (permalink)  
Старый 12.06.2012, 13:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Den1xxx
Но иногда пользователи закачивают картинки меньше заданной ширины, они принудительно растягиваются до заданного размера,
css решение такое:
img{
 max-width:180px;
 max-height:200px;
}
Ответить с цитированием
  #15 (permalink)  
Старый 18.06.2012, 22:53
Аватар для Den1xxx
Интересующийся
Отправить личное сообщение для Den1xxx Посмотреть профиль Найти все сообщения от Den1xxx
 
Регистрация: 15.07.2010
Сообщений: 17

Сообщение от Deff Посмотреть сообщение
css решение такое:
img{
 max-width:180px;
 max-height:200px;
}
Решение неправильное, поскольку меняет соотношение сторон исходной картинки.
Нужно ограничивать только по одной стороне (ширине) — и соотношение сторон сохранится.
Высоту не нужно ограничивать — ведь все сайты обычно могут растянуться по высоте без ограничений и с дизайном ничего не случится

Последний раз редактировалось Den1xxx, 18.06.2012 в 22:59.
Ответить с цитированием
  #16 (permalink)  
Старый 18.06.2012, 23:15
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Den1xxx
Решение неправильное, поскольку меняет соотношение сторон исходной картинки.
Продемонстрируйте
Ответить с цитированием
  #17 (permalink)  
Старый 18.06.2012, 23:34
Аватар для Den1xxx
Интересующийся
Отправить личное сообщение для Den1xxx Посмотреть профиль Найти все сообщения от Den1xxx
 
Регистрация: 15.07.2010
Сообщений: 17

Сообщение от Deff Посмотреть сообщение
Продемонстрируйте
Мде, действительно промахнулся Вы правы, хоть и не пойму почему:9
Ведь должно было смениться соотношение сторон, если картинко больше заданных величин?
Впрочем, код только что не сработал под ИЕ9, а значит не годится в боевых условиях.

<html>
<head>
<title>Последние новости...</title>
    <META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW"/>
<style>
	img{
 max-width:500px;
 max-height:100px;
}
</style>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<img src="http://5557070.by/content/slider/slide100.jpg"/>

</body>
</html>
Ответить с цитированием
  #18 (permalink)  
Старый 18.06.2012, 23:56
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Den1xxx,
При указаниях max- и min- вторая строна, при ограничениях получает
width:auto; или height:auto; в зависимости от того, что фиксируем
Траблы могут быть при одновременном использовании max- и min-
Ответить с цитированием
  #19 (permalink)  
Старый 19.06.2012, 00:10
Аватар для Den1xxx
Интересующийся
Отправить личное сообщение для Den1xxx Посмотреть профиль Найти все сообщения от Den1xxx
 
Регистрация: 15.07.2010
Сообщений: 17

Сообщение от Deff Посмотреть сообщение
Траблы могут быть при одновременном использовании max- и min-
Да я уже почитал спецификацию w3c и понял что ошибся — обычная логика не сработала
Но плохо что на ИЕ это не работает. А так конечно тогда бы можно было пользоваться
Ответить с цитированием
  #20 (permalink)  
Старый 19.06.2012, 00:30
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Den1xxx
Но плохо что на ИЕ это не работает. А так конечно тогда бы можно было пользоваться
Хм - http://hostjs-mybb2011.narod.ru/IMGmax.htm
Странно - У меня работает в ИЕ 6-7
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по jquery - как узнать какой тэг? APL Общие вопросы Javascript 7 09.06.2016 15:22
Как узнать размер загружаемого файла? shkarbatov Серверные языки и технологии 5 14.08.2011 17:12
Как узнать размер и расширение файла? Shitbox2 Общие вопросы Javascript 17 23.02.2011 12:26
Как узнать о том, что флэш уже загрузился. Snipe Общие вопросы Javascript 4 29.01.2009 11:21
как при добавлении изображения на сервер считывать имя в БД? solomusic Серверные языки и технологии 3 12.06.2008 23:28