Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Управление размерами картинки, Как узнать размер картинки до загрузки? 
:(
    Опции темы
agx
Дата 21.3.2005, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 11.3.2005

Репутация: нет
Всего: нет



Доброго времени суток.
Вопрос такой: как можно узнать размер картинки, не отображая ее в браузере?
Суть задачи в том, чтобы узнать размеры картинки, и если они больше заданных значений - уменьшить их, затем отобразить картинку в браузере.
Я пробовал использовать свойство width, однако по какой-то причине скрипт срабатывает "через раз". Тоесть гружу станицу впервые - картинка занимает весь экран. Щелкаю refresh - картинка масштабируется так, как положено. Подскажите, почему может так получаться?
Заранее спасибо.
PM MAIL   Вверх
sergejzr
Дата 21.3.2005, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



Покажи код smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Hydrogenium
Дата 21.3.2005, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 17.3.2005

Репутация: нет
Всего: нет



Так может получаться если скрипт в отдельном файле, и загружается из кэша, а при рефреше с сервера (в IE такое может быть).
PM MAIL   Вверх
Aliance
Дата 21.3.2005, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата(agx @ 21.3.2005, 16:41)
и если они больше заданных значений - уменьшить их,

Это как? Это JS не может, а то, как он может - можно и inline в теге IMG...
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 21.3.2005, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Aliance @ 21.3.2005, 16:49)
Это JS не может, а то, как он может - можно и inline в теге IMG...

Хорошо подумай что есть JS в первую очередь и следовательно что он "косвенно" может.

agx создаём обьект Image, грузим, как только придут заголовки(зависит от формата), то браузер получит инфу о размерах.
Код
<div id="dbg"></div>
<img id="test" style="visibility: hidden; width:1px; height: 1px" />
<script type="text/javascript">
<!--
/** проверяем состояние картинки */
function updateLoad() {
  document.getElementById("dbg").innerHTML="width: "+img.width+", height: "+img.height+", complete: "+img.complete;
 //если загрузилась, то здесь же можем задать любой размер целевой картинки
  if(img.complete) {
    var i=document.getElementById("test");
    i.src=img.src;
    i.style.visibility="visible";
    i.style.width="auto"; i.style.height="auto";
    window.clearInterval(updateLoad.tmr);
  }
}

var img=new Image();
img.src="./test.jpg"; //грузим картинку
updateLoad.tmr=window.setInterval(updateLoad, 100);
//-->
</script>



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Aliance
Дата 21.3.2005, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Sardar
Я имел ввиду, изменить размер картинки, как в фотошопе к примеру, чтобы всесте с этим менялся и размер, т.е. факт. новая картинка :-) Это, на сколько мне известно JS не может (или я ошибаюсь? %-) )
М
 
Естественно не может, повторю: подумай что есть JS;-)
Для сравнения: на Java нельзя на прямую писать в порты. Для этого ты юзаешь асм либо C.

PM MAIL WWW ICQ Skype   Вверх
agx
Дата 22.3.2005, 06:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 11.3.2005

Репутация: нет
Всего: нет



Sardar
Спасибо! smile
И всем спасибо тоже! smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.