Avatar billede rookieboy Nybegynder
09. oktober 2007 - 16:02 Der er 3 kommentarer

Højde og bredde på loaded billede i movieclip

Jeg har noget XML / imageloader. Billedet loader fint og kan ses på skærmen, men hvordan få jeg fat i _width og _height på det movieclip der holder billedet? Eller sagt med andre ord: Billedets dimensioner.

Har prøvet nedenstående, men mit trace giver '0'
Det burde give 200 x 250 som er billedets dimensioner.

-----------------------------------------------------------
function loadXML(loaded):Void{
    if (loaded){
        thumbnail = [];
        var base = this.firstChild;
        totalImages = base.childNodes.length;
            for (i=0;i<=totalImages; i++){
            thumbnail[i] = base.childNodes[i].childNodes[1].firstChild.nodeValue;
            } // end for
    } // end if
    VisLortet();
} // end function

function VisLortet():Void{
this.attachMovie("holder_mc","holder_mc",this.getNextHighestDepth());
this.holder_mc.loadMovie(thumbnail[0]);
this.holder_mc._x = 0;
this.holder_mc._y = 0;

var iWidth:Number = this.holder_mc._width; 
var iHeight:Number = this.holder_mc._height;

trace(iWidth); // dette giver 0, burde være 200
trace(iHeight); // dette giver 0, burde være 250
} // end function

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
--------------------------------------------------
Avatar billede mat Nybegynder
09. oktober 2007 - 16:10 #1
Søg i hjælpen på MovieClipLoader, så har du meget mere kontrol over hvornår hvad sker, og dermed hvornår du kan tilgå højde og bredde på din loadede materiale.

mvh mat
Avatar billede andersbro Nybegynder
09. oktober 2007 - 17:12 #2
Grundlæggende tager det tid at loade et billede, og du prøver derfor at trace bredde og højde inden billedet er loadet - derfor 0.
function loadImage():Void {
    var image:MovieClip = _root.createEmptyMovieClip("image", 1);
   
    var MCLoader:MovieClipLoader = new MovieClipLoader();
    var MCListener:Object = new Object();
    MCListener.onLoadInit = function(target:MovieClip) {
        trace("target._width: " + target._width);
    };
    MCLoader.addListener(MCListener);
    MCLoader.loadClip("billede.jpg", _root.image);
}

Skulle gerne virke
Avatar billede rookieboy Nybegynder
09. oktober 2007 - 17:37 #3
Andersbro: Du har jo ret - jeg skal benytte MovieClipLoader objektet istedet!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester