Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как изменить линейные размеры jpg (http://www.flasher.ru/forum/showthread.php?t=138952)

greegreeman 19.04.2010 20:57

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

TanaTiX 19.04.2010 21:05

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

greegreeman 19.04.2010 21:20

может я не так выразил свой вопрос. мне нужно размеры линейные именно jpg картинки поменять.

other.one 19.04.2010 21:30

Примерно так (((=

Код AS3:

var _loader:Loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, tracer);
_loader.load(new URLRequest("someImage.jpg"));
 
private function tracer(evt:Event):void{
        trace(_loader.width);
        trace(_loader.height);
}


greegreeman 20.04.2010 01:07

всем спасибо. все получилось )

dimarik 20.04.2010 01:18

Цитата:

Сообщение от greegreeman (Сообщение 901807)
получаю несколько фото из xml в формате jpg.

Вы получаете фото из хмл в формате jpg? Научите меня тоже этой магии. Максимум на что я способен - получить фото из XML в виде Base64.

other.one 20.04.2010 14:57

2 dimarik:

хммм а в чем проблема? (((=

XML файл
Код:

<image>
        <image>image/full/1.jpg</image>
        <image>image/full/2.jpg</image>
        <image>image/full/3.jpg</image>
        <image>image/full/4.jpg</image>
        <image>image/full/5.jpg</image>
</image>

Класс загрузки данных:
Код AS3:

package{
 
        import flash.net.*;
        import flash.events.*;
 
        public class XMLLoaderClass{
 
                var _xmlIm:XML;
 
                public var _imageList:XMLList; //массив ссылок на картинки
 
                var _xmlLoader:URLLoader = new URLLoader();
 
                var _loadFlag:Boolean = false; //флаг который детектирует окончание загрузки XML данных
 
                public function XMLLoaderClass():void{
                        _xmlLoader.addEventListener(Event.COMPLETE, xmlLoad);
                        _xmlLoader.load(new URLRequest("data/ImageList.xml"));
                }
 
                private function xmlLoad1(evt:Event):void{
                        _xmlIm = XML(evt.target.data);
                        _imageList = _xmlIm.children(); //получаете массив ссылок на картинки
                        _loadFlag:Boolean = true;
                }
 
        }
}

Класс загрузки изображений:
Код AS3:

package{
 
        import flash.display.*;
        import flash.events.*;
        import flash.utils.*;
        import flash.net.*;
 
        import XMLLoaderClass;
 
        public class ImageLoadClass{
 
                var _imageLoader:Loader = new Loader();
 
                var _picture:Sprite = new Sprite();
 
                var _requestUrl:String;
 
                var _index:int;
 
                var _detectXMLLoad:Timer;
 
                var _xmlLoaderClass:XMLLoaderClass;
 
                public function ImageLoadClass(){
                        _xmlLoaderClass = new XMLLoaderClass();
 
                        _detectXMLLoad = new Timer(250);
                        _detectXMLLoad.addEventListener(TimerEvent.TIMER, detector);
                        _detectXMLLoad.start();
                }
 
                //детектируем загрузку XMLLoaderClass
                private function detector(evt:TimerEvent):void{
                          if(_xmlLoaderClass._loadFlag){
                                    _xmlLoaderClass._loadFlag = false;
                                    _detectXMLLoad.stop();
                                    _index = _xmlLoaderClass._imageList.length()/2; //загружаем среднюю картинку
                                    loadImage(_xmlLoaderClass._imageList[_index]);
                          }
                }
 
                public function loadImage(url):void{
 
                        _requestUrl = url;
 
                        _imageLoader.load(new URLRequest(_requestUrl));
                        _imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);       
 
                }
 
                private function imageLoaded(evt:Event):void{
                                _picture.addChild(_imageLoader);
                }
 
 
        }       
}

Может не самый оптимальный вариант, зато простой и работает (((=

dimarik 22.04.2010 01:28

Цитата:

Сообщение от other.one (Сообщение 901952)
2 dimarik:

хммм а в чем проблема? (((=

У Вас проблема с терминологией. Не jpg у Вас в xml, но ссылки на файлы. Которые могут быть в формате jpg. Это огромная разница. Будьте грамотны.

other.one 22.04.2010 02:05

Поясните тогда что значит jpg в xml, и зачем оно нужно? Буду признателен

СлаваRa 22.04.2010 02:55

Если интересно что такое jpeg, то вам сюда, то про что Вы написали, это xml с ссылками на изображения, то про что сказал dimarik, а именно
Цитата:

фото из XML в виде Base64.
это совсем из другой оперы и к вашему вопросу отношения не имеет.

пс
вся проблема в формулировке вопроса.


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

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