MovieClip.prototype .loadJPEG

Marko 14.06.06 10:31

Lataa Flashissa JPEG-kuvan MovieClippiin

 Tekstiversio  Arvo: -1 (3 ääntä)  Äänestä: +  -
/*

Tämä funktio lataa ja skaalaa automaattisesti kuvan MovieClippiin sisään sopivaksi. Onko tästä funktiosta sitten mitään hyötyä missään, sitä en tiedä.

*/

MovieClip.prototype.loadJPEG = function(fileJPEG, level) {

  this.clipName = "image"+level;
  this.createEmptyMovieClip(this.clipName, level); 
  this[this.clipName].loadMovie(fileJPEG); 
  this.MaxWidth = this._width;
  this.MaxHeight = this._height;
  this.onEnterFrame = function () { 
    this.loaded = this[this.clipName].getBytesLoaded(); 
    this.total = this[this.clipName].getBytesTotal(); 
    if ((this.loaded == this.total) && (this.loaded > 0)) { 
      this.SrcWidth = this[this.clipName]._width;
      this.SrcHeight = this[this.clipName]._height;
     if ((this.SrcWidth < this.MaxWidth) && (this.SrcHeight<this.MaxHeight)) {
        this[this.clipName]._x = (this.MaxWidth - this.SrcWidth) / 2 / (this._xscale / 100);
        this[this.clipName]._y = (this.MaxHeight - this.SrcHeight) / 2 / (this._yscale / 100);
        this[this.clipName]._width = this.SrcWidth / (this._xscale / 100);
        this[this.clipName]._height = this.SrcHeight / (this._yscale / 100);
     } else
     if ((this.SrcWidth / this.MaxWidth)>(this.SrcHeight/this.MaxHeight)) { // top & bottom
       this.Scale = this.SrcHeight / this.SrcWidth;
       this[this.clipName]._width = this.MaxWidth / (this._xscale / 100);
       this[this.clipName]._height = Math.round(this.MaxWidth*this.Scale) / (this._yscale / 100);
       this.SrcHeight = this[this.clipName]._height;
       this[this.clipName]._y = ((this.MaxHeight/ (this._yscale / 100)) - this.SrcHeight) / 2 ;
     } else { // left & right
       this.Scale = this.SrcWidth / this.SrcHeight;
       this[this.clipName]._height = this.MaxHeight / (this._yscale/100);
       this[this.clipName]._width = Math.round(this.MaxHeight * this.Scale) / (this._xscale / 100);
       this.SrcWidth = this[this.clipName]._width;
       this[this.clipName]._x = ((this.MaxWidth / (this._xscale/100)) - this.SrcWidth) / 2;
     }
    this.onEnterFrame = null; 
    } 
  }
}

/*

  Tee ensin muutama valmis MovieClip ja lataa sitten kuvia niihin

*/

with (mc1) {
	loadJPEG("c:/lakes2.jpg", 1);
}

with (mc2) {
	loadJPEG("bluesbros.jpg", 1);
}

with (mc3) {
	loadJPEG("tiger.jpg", 3);
}

k00dari 16:06 14.6.06 
ois voinu varmasti tehä vähän helpomminkin
Marko 17:11 14.6.06 
Olen samaa mieltä, saattaa olla että sen voisi tehdä helpomminkin. Tein tuon kuitenkin kauan sitten sen kummempia miettimättä koodia miettimättä.