Avatar billede vizone Nybegynder
21. august 2004 - 22:52 Der er 17 kommentarer og
1 løsning

Tilpasse størrelsen af loaded billede

Jeg loader nogle billeder ind i flash...
jeg loader det sådan:
loadMovie("himmel.jpg","billede");
Billedet bliver brugt gentagne gange så i stedet for at have 5 forskellige størrelser billeder kunne jeg godt tænke mig at når det loades at man kunne tilpasse størrelsen på det???
Avatar billede thulstrup Nybegynder
21. august 2004 - 22:57 #1
Når billedet er loaded HELT ind, kan du ændre størrelsen på det ved at ændre størrelsen på det movieclip du har loaded det ind i:

billede._width = 100;
billede._height = 100;
Avatar billede vizone Nybegynder
21. august 2004 - 23:07 #2
Det virker ikke - det går bare ud over kanten....  :(
Avatar billede vizone Nybegynder
21. august 2004 - 23:08 #3
Nu ligger det også i en frame... måske den ikke er loadet ind inden ?? kan man lave en "when loaded...." (jeg er ikke så god til actionscript)
Avatar billede thulstrup Nybegynder
21. august 2004 - 23:18 #4
Ja, jeg vil tro der er fordi det ikke er loaded.
Du kan bruge et preloader script til at checke hvor meget af billedet der er loaded og så når det er helt loaded ind resize billedet:

MovieClip.prototype.loadImage = function(jpg, w, h) {
    trace(this);
    var holder_mc = this;
    holder_mc.loadMovie(jpg);
    tmp_mc = createEmptyMovieClip("tmp_mc", 0);
    tmp_mc.onEnterFrame = function() {
        this.procent = Math.floor((holder_mc.getBytesLoaded()/holder_mc.getBytesTotal())*100);
        if (this.procent == 100 && holder_mc.getBytesTotal()>50) {
            holder_mc.resizeImage(w, h);
            tmp_mc.removeMovieClip();
        }
    };
};
MovieClip.prototype.resizeImage = function(w, h) {
    this._width = w;
    this._height = h;
};
billede.loadImage("nyheder.jpg", 100, 100);
Avatar billede vizone Nybegynder
22. august 2004 - 10:40 #5
Jeg får følgende fejl:

**Error** Scene=Scene 1, layer=pre, frame=1:Line 2: Operator '=' must be followed by an operand
        trace(this);

**Error** Scene=Scene 1, layer=pre, frame=1:Line 3: Syntax error.
        var holder_mc = this;

Total ActionScript Errors: 2     Reported Errors: 2
Avatar billede thulstrup Nybegynder
22. august 2004 - 11:42 #6
Avatar billede vizone Nybegynder
22. august 2004 - 17:39 #7
Hmm nu har jeg endelig fået det til at virke, men der hvor man loader billedet ind (billede.loadImage("nyheder.jpg", 100, 100);)
Hvad nu hvis billedet ligger inde i et mc?
Avatar billede thulstrup Nybegynder
22. august 2004 - 18:59 #8
Altså nu loader du jo allerede billedet ind i mc'et 'billede'.
Hvis du vil loade billedet ind i et mc der ligger inde i et andet mc skriver du bare:

mc1.mc2.loadImage("bla.jpg", 100, 100)

Var det det du mente?
Avatar billede vizone Nybegynder
22. august 2004 - 19:04 #9
Ja netop.. men ejg har prøvet at skrive stien på den måde, men så bliver det ikke loadet ind... :(
Avatar billede thulstrup Nybegynder
22. august 2004 - 19:14 #10
Det fungerer fint her. Er du sikker på at du har navngivet dine mc's rigtigt?
Prøv at skrive:

MovieClip.prototype.loadImage = function(jpg, w, h) {
    var holder_mc = this;
    holder_mc.loadMovie(jpg);
    tmp_mc = createEmptyMovieClip("tmp_mc", 0);
    tmp_mc.onEnterFrame = function() {
        this.procent = Math.floor((holder_mc.getBytesLoaded()/holder_mc.getBytesTotal())*100);
        if (this.procent == 100 && holder_mc.getBytesTotal()>50) {
            holder_mc.resizeImage(w, h);
            this.removeMovieClip();
        }
    };
};
MovieClip.prototype.resizeImage = function(w, h) {
    this._width = w;
    this._height = h;
};
this.createEmptyMovieClip("mc1", 1).createEmptyMovieClip("mc2", 1);
mc1.mc2.loadImage("bla.jpg", 200, 200);
Avatar billede vizone Nybegynder
22. august 2004 - 19:19 #11
hmm nej det virker stadig ikke...
Er du ikke sød at prøve at give mig din .fla fil?
jeg ved ikke om der er noget galt med min flash, men nu kommer den pludselig med den syntax error igen
Avatar billede thulstrup Nybegynder
22. august 2004 - 19:23 #12
Ok, du kan hente den nyeste version her:
http://www.overdose.dk/eksperten/spm531685/spm531685.fla
Avatar billede nikolajdu Nybegynder
22. august 2004 - 19:26 #13
mon ikke det er fordi du ikke kan bruge prototype der er initialiseret FØR billedet er loadet....

resizeImage = function(mc,w, h) {
    mc._width = w;
    mc._height = h;
};
MovieClip.prototype.loadImage = function(jpg, w, h) {
    var holder_mc = this;
    holder_mc.loadMovie(jpg);
    tmp_mc = createEmptyMovieClip("tmp_mc", 0);
    tmp_mc.onEnterFrame = function() {
        this.procent = Math.floor((holder_mc.getBytesLoaded()/holder_mc.getBytesTotal())*100);
        if (this.procent == 100 && holder_mc.getBytesTotal()>50) {
            resizeImage(holder_mc, w, h);
            this.removeMovieClip();
        }
    };
};
MovieClip.prototype.resizeImage = function(w, h) {
    this._width = w;
    this._height = h;
};
this.createEmptyMovieClip("mc1", 1).createEmptyMovieClip("mc2", 1);
mc1.mc2.loadImage("bla.jpg", 200, 200);
Avatar billede nikolajdu Nybegynder
22. august 2004 - 19:27 #14
hov...

// mon ikke det er fordi du ikke kan bruge prototype der er initialiseret FØR billedet er loadet....

resizeImage = function(mc,w, h) {
    mc._width = w;
    mc._height = h;
};
MovieClip.prototype.loadImage = function(jpg, w, h) {
    var holder_mc = this;
    holder_mc.loadMovie(jpg);
    tmp_mc = createEmptyMovieClip("tmp_mc", 0);
    tmp_mc.onEnterFrame = function() {
        this.procent = Math.floor((holder_mc.getBytesLoaded()/holder_mc.getBytesTotal())*100);
        if (this.procent == 100 && holder_mc.getBytesTotal()>50) {
            resizeImage(holder_mc, w, h);
            this.removeMovieClip();
        }
    };
};
MovieClip.prototype.resizeImage = function(w, h) {
    this._width = w;
    this._height = h;
};
this.createEmptyMovieClip("mc1", 1).createEmptyMovieClip("mc2", 2);
mc1.mc2.loadImage("bla.jpg", 200, 200);
Avatar billede vizone Nybegynder
22. august 2004 - 19:33 #15
hmm jeg fatter det ikke.. der er INGEN forskel på den fla fil jeg lige hentede og så den jeg selv lavede.. nå men tak for hjælpen,bare skriv et "svar" å skal du få dien point
Avatar billede vizone Nybegynder
22. august 2004 - 19:36 #16
hmm nu du alligevel er igang... hvis jeg nu bare vil loade billedet men ikke ændre størrelsen - hvad hedder koden så?
Avatar billede thulstrup Nybegynder
23. august 2004 - 00:31 #17
nikolajdu >> det virker jo fint

vizone >> sådan her:

MovieClip.prototype.loadImage = function(jpg, w, h) {
    var holder_mc = this;
    holder_mc.loadMovie(jpg);
    tmp_mc = createEmptyMovieClip("tmp_mc", 0);
    tmp_mc.onEnterFrame = function() {
        this.procent = Math.floor((holder_mc.getBytesLoaded()/holder_mc.getBytesTotal())*100);
        if (this.procent == 100 && holder_mc.getBytesTotal()>50) {
            if (w != undefined && h != undefined) {
                holder_mc.resizeImage(w, h);
            }
            this.removeMovieClip();
        }
    };
};
MovieClip.prototype.resizeImage = function(w, h) {
    this._width = w;
    this._height = h;
};
this.createEmptyMovieClip("mc1", 1).createEmptyMovieClip("mc2", 1);
mc1.mc2.loadImage("bla.jpg");
Avatar billede thulstrup Nybegynder
23. august 2004 - 00:33 #18
Hov, der fik jeg lige trykket send lidt for hurtigt.
Det jeg ville sige var, at så kalder du bare scriptet uden w og h variablerne.
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