1. #1
    Shaddix's Avatar
    Registered
    08/09/09
    Posts
    6,121
    iTrader
    23 (100%)
    Mentioned
    9 Post(s)
    Reputation
    3/121

    [Flex] Probleem instellen afmetingen

    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 ) .

    Als iemand weet hoe dit op te lossen...
    PSN: Shaddix-be
    no votes  

  2. #2
    janlaureys9's Avatar
    Registered
    30/11/03
    Location
    Antwerpen
    Posts
    1,647
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/9
    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;
    }
    En dan maakt het ook helemaal niet meer uit dat die ene nou "elmer" heet...
    ALT + 84; ALT + 104; ALT + 101; ALT + 32; ALT + 71; ALT + 97; ALT + 109; ALT + 101
    no votes  

  3. #3
    Shaddix's Avatar
    Registered
    08/09/09
    Posts
    6,121
    iTrader
    23 (100%)
    Mentioned
    9 Post(s)
    Reputation
    3/121
    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.
    PSN: Shaddix-be
    no votes  

  4. #4
    Shaddix's Avatar
    Registered
    08/09/09
    Posts
    6,121
    iTrader
    23 (100%)
    Mentioned
    9 Post(s)
    Reputation
    3/121
    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;
    	}
    }
    PSN: Shaddix-be
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in