28. marts 2004 - 16:10
Der er
10 kommentarer og 1 løsning
billeder i samme størrelse?
jeg bruger følgende script til at hente billeder ind i en movie i flash MX. this["MOV1"].loadMovie("images/0"+nb2+".jpg"); this["MOV1"]._width = 16; this["MOV1"]._height = 9.5; this["MOV1"]._x = -85.8; this["MOV1"]._y = 17; Men af en eller anden grund har billeder forskellige størrelse når de bliver hentet. Billederne har ikke samme størrelse inden de bliver hentet ind, men hvad skal jeg ændre for at de bliver presset ned i samme størrelse? //13th Sky
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
28. marts 2004 - 16:20
#1
Når billedet er blevet hentet ind i mc'et bliver dets width og height ændret til billedets størrelse... For at sikre dig at billedet får den ønskede bredde og højde skal du tjekke om billedet er hentet 100 % ind i flash først med en preloader. Den kan fx se sådan her ud: this["MOV1"].loadMovie("images/0"+nb2+".jpg"); this.onEnterFrame = function(){ loadedBytes = this["MOV1"].getBytesLoaded(); totalBytes = this["MOV1"].getBytesTotal(); if(loadedBytes == totalBytes && totalBytes > 0){ delete this.onEnterFrame; this["MOV1"]._width = 16; this["MOV1"]._height = 9.5; this["MOV1"]._x = -85.8; this["MOV1"]._y = 17; } }
28. marts 2004 - 16:31
#2
Det ændrer ikke noget.... Men sjovt nok kan jeg se at hvis jeg ændrer i størrelsen på MOV1, så ændrer billedet også størrelse... Jeg vil egentlig bare hiver billederne ind, således at de alle får samme størrelse, uanset den størrelse de ligger i udenfor... //13th Sky
28. marts 2004 - 16:36
#3
Hvis der er flere billeder, der hentes ind på ovenstående måde, så vil det jo ikke virke, da der kun er en onEnterFrame - prøv at lægge hele dit script her.
28. marts 2004 - 16:45
#4
i det første frame står scriptet: nb = Math.random(5)*295; nb2 = Math.round(nb); if (nb2<=51) { nb2 = nb2+100; } this["MOV1"].loadMovie("images/0"+nb2+".jpg"); this["MOV1"]._width = 16; this["MOV1"]._height = 9.5; this["MOV1"]._x = -85.8; this["MOV1"]._y = 17; i framet ligger der desuden et movieclip som hedder MOV1 //13th Sky
28. marts 2004 - 16:51
#5
Movieclippet MOV1 indeholder en lille streg, men den bliver ikke vist når movien kører. Kun billedet bliver vist. Men hvis jeg ændrer på størrelsen på den lille streg, ændres billedets størrelse også..
28. marts 2004 - 17:21
#6
Dette er mit bedste bud: function waitForLoaded() { if (MOV1.getBytesTotal() > 100 && MOV1.getBytesTotal() == MOV1.getBytesLoaded) { MOV1._width = 16; MOV1._height = 9.5; MOV1._x = -85.8; MOV1._y = 17; } } nb = 51+Math.floor(Math.random()*245); MOV1.loadMovie("images/0"+nb+".jpg"); this.onEnterFrame = waitForLoaded; Men prøv ad... :) // Morten Barklund
28. marts 2004 - 17:26
#7
Det ændrer ikke noget... Hvis du lige smider en mail adresse, akn jeg sende filmen til dig...? //13th Sky
28. marts 2004 - 17:29
#8
smid på morten@dkmmug.dk
28. marts 2004 - 18:14
#9
Hvis jeg skriver (har rettet MOV1 til mov1): nb2 = 52; mov1.loadMovie("images/0"+nb2+".jpg"); this.onEnterFrame = function() { if (mov1.getBytesLoaded()>12 && mov1.getBytesLoaded() == mov1.getBytesTotal()) { mov1._width = 16; mov1._height = 9.5; mov1._x = -85.8; mov1._y = 17; } }; Så virker det altså, som det skal - billederne bliver små og samme størrelse. Men jeg kan også se, at jeg i min kode ovenover glemte () på getBytesLoaded... // Barklund
28. marts 2004 - 18:33
#10
Ja, der var den... takker...
28. marts 2004 - 18:52
#11
Jo tak :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.