Archief - [Flex] Probleem instellen afmetingen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Shaddix

Legacy Member
Ik heb momenteel een functie die na het inladen van een foto deze in een spark image component moet zetten.

Code:
private function onLoadComplete(event:Event):void
{
	userImage.source = _fileRef.data;
	userImage.width = userImage.width / 2;
	userImage.height = userImage.height / 2;
}

Nu wil ik deze bijvoorbeeld halveren in grootte, maar dit krijg ik dus niet klaargespeeld.
Ik vermoed dat dat komt omdat de source assynchroon wordt gewijzigd? Maar ik vind hier niet meteen een work-around voor (ben een flex newbie :p) .

Als iemand weet hoe dit op te lossen...

janlaureys9

Legacy Member
Heb onlangs in flash nog zitten knoeien met schalen van images, en daar kan je iets zoals dit doen. Heb wel geen idee of dit ook in flex werkt.

Code:
private function onLoadComplete(event:Event):void
{
	userImage.source = _fileRef.data;
	userImage.width = userImage.width / 2;
	userImage.scaleY = userImage.scaleX;
}

Shaddix

Legacy Member
Handige functie die scale precies, maar het lost helaas het probleem niet op.
Gezien dat op die moment in de programmaflow de breedte en hoogte nog niet bekend zijn voor flash kan hierop niet gescaled worden.

Shaddix

Legacy Member
Eindelijk de oplossing gevonden. Als er nog mensen ooit met dit probleem zitten, dit is hoe je het oplost:

Code:
private function onLoadComplete(event:Event):void
{
	userImage.source = _fileRef.data;
	userImage.addEventListener(FlexEvent.UPDATE_COMPLETE, imageUpdated);
}

protected function imageUpdated(event:Event):void{
	var width:int = userImage.bitmapData.width;
	var height:int = userImage.bitmapData.height;
	if(width > height){
		userImage.width = 800;
		userImage.scaleY = userImage.scaleX;
	}else{
		userImage.height = 600;
		userImage.scaleX = userImage.scaleY;
	}
}
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan