Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   размеры загруженного jpg? (http://www.flasher.ru/forum/showthread.php?t=55151)

Pogreb 26.02.2004 12:57

размеры загруженного jpg?
 
кто то же должен знать?
В динамически созданный клип
загружаем jpg и
проверяем размеры клипа
myClip._width, myClip._height
!! они не изменились. == 0

потом я делаю из этого клипа -
кнопку по размеру загруженой картинки:
. . .
загружаю через XML размеры картинки,
набранные вручную и
програмно рисую квадрат, для того, чтобы
изменить размеры клипа

но это же извращение!

У меня 50 картинок - представьте размер XML файла.

на Вас последняя надежда.

Nox Noctis 26.02.2004 13:04

до тех пор пока картинка не загрузится полностью - нельзя определить ее габариты.

точка.

сначала проверяешь что всё загрузилось, потом только спрашиваешь ширину и высоту клипа

Pogreb 26.02.2004 14:10

Все тот же вопрос:

допустим картинка загрузилась полностью.

А как обратится к ней, что бы узнать ее размер?

сам файл для загрузки называется image.jpg,
загружается в клип myClip.

И как же узнать ее свойства?

_root.myClip.image._width ?

или

_root.myClip._width ?

И как узнать под каким именем находится картинка в клипе,
И загруженые картинки становятся клипами?

Nox Noctis 26.02.2004 14:17

при загрузке чего-то в клип, ты просто заменяешь все содержимое контейнера с каким-то именем на другое. картинка это или свфка - не важно. имя грузимого файла не играет дальше никакой роли. есть только имя клипа, содержащего загруженный объект.

Iv 27.02.2004 06:48

маленькое добавление:
размеры картинки будут доступны только в следующем, после загрузки, кадре.

Nox Noctis 27.02.2004 07:40

Цитата:

Оригинал написал(а) BitSky
маленькое добавление:
размеры картинки будут доступны только в следующем, после загрузки, кадре.

ээ... не правда :)
эти свойства будут доступну в том кадре, в котором getBytesTotal станет равным getBytesLoaded...

не так и важно когда там картинка загрузилась (загрузка ведь процесс асинхронный фреймрейту) - главное что как только getBytesTotal == getBytesLoaded, так сразу можно пользоваться высотой и шириной картинки.

Iv 27.02.2004 08:06

ты бы проверял, прежде чем обвинять меня во лжи %)
- истинно глаголю:

Код:

this.createEmptyMovieClip("mc", 0);
this.mc.loadMovie("pic.JPG");
this.onEnterFrame = function() {
if (this.mc.getBytesLoaded() == this.mc.getBytesTotal()) {
trace(this.mc._width);
delete this.onEnterFrame;
}
};


Nox Noctis 27.02.2004 08:21

АХА ! попался ! :))

в этом коде ноль равен нулю, потому что загрузка еще НЕ НАЧАЛАСЬ :) то есть ты сравниваешь количества байт исходного (в данном случае пустого) мувика друг с другом и удаляешь ентерФрейм с чистой совестью, хотя загрузка-то еще даже не началась :)

если не веришь - сделай трейс того что происходит при загрузке не удаляя онЕнтерФрейм по "окончании"... увидишь что первым всегда трейсятся исходные байты, еще без учёта загрузки.

зы: а я проверил :) хотя и был уверен... но на всякий пожарный...

Штрек 27.02.2004 08:39

Всё хотел спросить
loadMovie("test.jpg", _root.mc);
_root.mc.onEnterFrame = function() {
trace("Оп");
};
Т.е. на мувике в который грузим onEnterFrame срабатывает
один раз, а onData вообще не фурычит?

Iv 27.02.2004 08:41

хм...
весьма странно.. и интересненько..
и дело даже не в том, чем это кончается, а в том, что загрузка еще не началась....
onEnterFrame задаем в том же кадре, что и даем команду на загрузку, и та и другая должны начать исполняться одновременно. почему же этого фактически не происходит?
хм.. чешу репу.


Часовой пояс GMT +4, время: 19:04.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.