Jpegs dynamisch einladen und resizen

dsturm

Erfahrenes Mitglied
Hallo,

hab ma ne Frage bezügl. eines dynamisch eingefügtem jpeg über loadMovie.
Unzwar erstelle ich am Anfang einen MovieClip mit

_root.createEmptyMovieClip("piccontainer", 1);

Nun möchte ich die Größe dieses Pics festlegen, mit _xscale und _yscale kein Problem. Allerdings möchte ich das Pixeltechnisch lösen, und bei _height und _width stellt er sich sturr. Kennt jemand das Problem
 
Ja,

du musst warten, bis dein Movieclip auch geladen ist, da die Werte des Containers im Moment des Ladens überschrieben werden. Das löst am besten eine onEnterFrame Funktion, die den Grössenänderungsprozess im entsprechenden Moment ausführt, um sich dann selbst zu terminieren.
Du findest unter entsprechenden Suchbegriffen eine Menge Threads zu diesem Thema hier in diesem Forum.


B
 
Tja, im Prinzip hatte ich das aber so! ^^

also im _root 1.frame:

Code:
_root.createEmptyMovieClip("piccontainer", 1);

und dann auf nem Button:

Code:
on (press) {
	_parent.piccontainer.loadMovie("pic1.jpg");
	_parent.piccontainer.onEnterFrame = function() {
		this.totalKB = this.getBytesTotal()/1024;
		this.loadedKB = this.getBytesLoaded()/1024;
		if (this.loadedKB == this.totalKB) {
			this._width = 50;
			this._height = 50;
		}
	};
}

Funktioniert aber leider nicht...
 
EI,
eben, weil im Moment des vollständigen Ladens alles, und damit auch der onEnterFrame Event des Pic-Containers überschrieben werden, kann das nicht funktionieren.
Initialisiere das onEnterFrame Event auf einer festgelegten Ebene, oder erstelle dir einen Event - Container MC mit createEmptyMovieclip.
So wie du das hast, käme das ja einem onLoadHandler für Bilddaten per loadMovie gleich - den gibt es aber nicht, und eine ähnliche Funktionalität wird erst mit der loader - Klasse in Flash MX 2004 implementiert.
Arbeite übrigens besser mit einem 0px Container und der Abfrage:
if (container._width > 0){
da zwischen dem vollständigen Laden und der Umsetzung der Graphik auch noch ein Takt liegt.

B
 
Zurück