Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 02.10.2015, 22:32
Аспирант
Отправить личное сообщение для skillful Посмотреть профиль Найти все сообщения от skillful
 
Регистрация: 18.09.2012
Сообщений: 55

Я автор данной темы. Создал ее еще 3 года назад.

psfdek, тот код который Вы предложили будет работать только если картинка уже отображалась ранее в браузере, т.е. была кэширована.
Об этом кстати я и написал в первом сообщении 3 года назад.
Правильно будет так:

var href = "http://upload.wikimedia.org/wikipedia/ru/8/8d/ImageComicsLogo.gif";
var img = new Image();
img.onload = function()
{
    var intImageWidth = this.width;
    var intImageHeight = this.height;

    alert(intImageWidth + "px; " + intImageHeight + "px;");
}
img.src = href;
Ответить с цитированием
  #12 (permalink)  
Старый 10.08.2016, 01:03
Новичок на форуме
Отправить личное сообщение для just_do_it Посмотреть профиль Найти все сообщения от just_do_it
 
Регистрация: 10.08.2016
Сообщений: 3

Подскажите почему так происходит
function imgSize(href){
		        var img = new Image();
		        img.src = href;
		        
		        img.onload = function() {
		            return img;
		        };
		        return img;
		    }

		    y=URL.createObjectURL(files[index]);
		    var imgZz = imgSize(y);

		    alert();
		    console.log(imgZz.width);
		    console.log(imgZz.height);


Если из кода убрать - alert();, тогда размеры не выводяться. НО! если поставить alert();, тогда размеры выводятся как положено и их можно передавать дальше.
У меня проблема в том что размеру нужны для дальнейшей работы с изображением, а не просто для их вывода. А выводить alert(); после каждого изображение не есть выход.
может есть какой-то аналог alert(); или событие которое должно произойти, после чего я смогу получить размеры

Подскажите пжлста
Ответить с цитированием
  #13 (permalink)  
Старый 10.08.2016, 01:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

just_do_it,
в 6 строке вы получите размер. алерт нужен чтоб вы дождались ответа сервера. мыслить асинхронно.
Ответить с цитированием
  #14 (permalink)  
Старый 10.08.2016, 01:32
Новичок на форуме
Отправить личное сообщение для just_do_it Посмотреть профиль Найти все сообщения от just_do_it
 
Регистрация: 10.08.2016
Сообщений: 3

Сообщение от рони Посмотреть сообщение
just_do_it,
в 6 строке вы получите размер. алерт нужен чтоб вы дождались ответа сервера. мыслить асинхронно.
спасибо,
но как мне добиться получения размеров в 15 и 16 строках без алерта?
Ответить с цитированием
  #15 (permalink)  
Старый 10.08.2016, 07:30
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Размер ты получишь не раньше, чем загрузится картинка. Следовательно только когда она загрузится, можно получить размер. Иными словами когда картинка загрузится, ты получишь размер, то есть не раньше чем она загрузится, ибо до этого момента измерять нечего. Дошло?

img.onload = function(){
    console.log(this.width);
    console.log(this.height);
};
Ответить с цитированием
  #16 (permalink)  
Старый 10.08.2016, 11:21
Новичок на форуме
Отправить личное сообщение для just_do_it Посмотреть профиль Найти все сообщения от just_do_it
 
Регистрация: 10.08.2016
Сообщений: 3

warren buffet, все теперь понял)), спс
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по jquery - как узнать какой тэг? APL Общие вопросы Javascript 7 09.06.2016 15:22
В IE не извлекаются размеры скрытой картинки ingwarr Events/DOM/Window 35 25.04.2012 12:08
Узнать os юзера на jquery BorisBritva jQuery 2 28.03.2012 15:22
Размеры картинки JetPak jQuery 2 30.01.2012 14:22
Узнать размер картинки через форму file Sergey67 Общие вопросы Javascript 1 24.12.2011 06:37