Link to home
Start Free TrialLog in
Avatar of Wimmeke
Wimmeke

asked on

Importing images with a fixed size.

Something similar has been asked before, but no real solution was found.

I would like to import an image of let's say 600x300 pixels. But when launching the movie in a 1024x768
browser this image is resized and looks awfull.

Is there a smart solution to this? A hidden 'noresize' parameter would be wonderful :-)

Thanks,

Wim
Avatar of Zeffer
Zeffer
Flag of New Zealand image

there is no magic fix for an image that is already in a swf file.The way to control it's size no matter what the resolution of the browser ...is to use the loadMovie function at runtime and place the .jpg file into a target movie of a specified pixel size...in this case a blank movie..600x300px.

Z
Avatar of Wimmeke
Wimmeke

ASKER

Ok, I created a new movie (swf) file and made it's size 600x300. I loaded this with the loadmovie function in my
main movie (on release of a button).

The loading itself works fine, but the image is still resizing together with the browser.

Am I doing something wrong?

Ps: Why is this so difficult?

Greetings,

Wim
HI.I think there are a couple of issues going on here.

Flash movies are scaleable and if you re-size the browser window everything in the movie is scaled up or down.

This is what you are doing now.

If your main movie is say 700x400 and it is exported with absolute dimensions (stated in pixels say...set in document properties)..then the movie will display at 700x400 in a 800x600 res.(your jpg will be 600x300)  
It will also display at 700x400 in a 1024x768 res.(your jpg will still be 600x300).. Both movies can be re-sized in their respective browsers though and all content will be scaled up.

So the absolute dimensions for the movie will control how it looks on launch in 1024x768..but you can't stop the user re-sizing their window and increasing the size of the jpg.

I see now why there has been no definative answer to this!

There is however a new actionscript command in MX..(Stage.resize)..which can invoke a function that basically redraws the objects on the stage..havn't tried it yet but in theory the jpg should be able to be called at it's original size...while the rest of the content resizes.

so your hidden "noresize parameter' may in fact be a reality..

maybe someone else has already done this and can help..I'm going to experiment and see if I can make it work.

Z

Avatar of Wimmeke

ASKER

Great, thanks ... I will try to have a look at it myself tomorrow.

One small comment though: The main movie has to be scalable, so it has to resize itself to the full browser window (As it is doing now). I tried using a fixed size and yes, then it works. But it really should stay proportional.

Anyways,

We'll see what we can find tomorrow.
will be out of the loop for a few days from tomorrow..(travel)
factor in this from Macromedia if you are experimenting..

Stage.onResize

The syntax under the Usage heading is incorrect. Instead, use Stage.addListener with the Object.onResize callback method, as in the following:


myListener = new Object();
myListener.onResize = function () { ... }
Stage.addListener(myListener);

// later ...
Stage.removeListener(myListener);

Z

ASKER CERTIFIED SOLUTION
Avatar of Zeffer
Zeffer
Flag of New Zealand image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Wimmeke

ASKER

Greaaat!!
I will try this as soon as possible,
but unfortunately I'm in between two holidays and I have to study for a retake of a big test :-(

I will certainly tell you how it went ... and close this question of course :-)

Many thanks Zeffer,

Wim
Avatar of Wimmeke

ASKER

Couldn't resist trying this before I left :-)

So, here I go:

The Stage.scaleMode works fine, I also added an align left command. No probs there, but the movie itself had to be resized (The interface), so 'not scaling' the entire stage was no option.

But! I created a new swf file, imported a picture, broke it apart (Ctrl-B), Converted it to a graphic symbol and centered it. I added the noscale code to the first frame. Then I created a new empty videoclip in my main movie and added some code which would load the swf file (with loadMovie). So now the main movie resizes and
loads a 'not-wanting-to-scale' swf-file that contains the correct image.

Voila, my problem is solved. Although it is a bit cumbersome to put every image in a new swf. But I can create 1 swf which will dynamically load a picture. I can use a parameter to specify which picture he has to import.

Many thanks for the effort Zeffer

And see you later ;-)

, Wim


Ps: We should make this a component :-)
Hey Wim..

What you came up with occurred to me as well...but
you got there sooner!
Good one..and yes I agree it should be a component..


Regards

Zeffer