Thanks, I've read that chapter but I still can't get this to work. I've been
fiddling with it all weekend and still no luck.

 

I now have this code which is based on an example on the adobe site:

 

<?xml version="1.0"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";>

 

    <mx:Script>

        <![CDATA[

                import mx.controls.Image;

            [Embed(source="/assets/logo.swf")]

            [Bindable]

            public var imgCls:Class;

                                

                                                private function
testPrint():void

                                                {

                                                                var
testImage:Image = new Image();

 
testImage.source = "{imgCls}";

 
this.addChild(testImage);

                                                }

        ]]>

    </mx:Script> 

 

    <mx:Button label="Icon Button 1" icon="{imgCls}" click="testPrint()"/>

    <mx:Button label="Icon Button 2" icon="{imgCls}"/>

</mx:Application>

 

The buttons display the image fine but when I click the first button I just
get broken images appearing. I have tried using the Image.load() method and
the image.source property and both give the same result.

 

I would be really grateful if someone could get this code working for me.

 

Many thanks

 

Giles Roadnight

 

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Stephen Gilson
Sent: 09 March 2007 19:46
To: [email protected]
Subject: RE: [flexcoders] Using an embedded image at runtime, Please help.

 

There is an entire chapter in the docs on this topic that might help:

 

http://livedocs.adobe.com/flex/201/html/embed_082_1.html

 

Stephen

 

  _____  

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Giles Roadnight
Sent: Friday, March 09, 2007 12:39 PM
To: [email protected]
Subject: RE: [flexcoders] Using an embedded image at runtime, Please help.

Many thanks for the reply but I am still having some problems.

I have this code:

[Embed(source="../assets/mixi.swf")]

[Bindable]

 private var mixiLogo:Class;

at the top of my class and this code:

private function printMovies(e:Event):void

{

                var mixiLogo:Image = new Image();

                mixiLogo.load("{this.mixiLogo}");

                

                this.addChild(mixiLogo);

}

That fires when I press a button but I am still getting a broken image. When
I try to load the image into a panel that I am building to print nothing
appears.

Is this code correct?

Thanks

Giles Roadnight

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Alex Harui
Sent: 09 March 2007 16:43
To: [email protected]
Subject: RE: [flexcoders] Using an embedded image at runtime, Please help.

@Embed is a compiler directive so you can't put it in quotes.

You have to declare a variable

[Embed('../assets/mixipix.swf');

Var mixipix:Class

And load that

  _____  

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Giles Roadnight
Sent: Friday, March 09, 2007 7:16 AM
To: [email protected]
Subject: [flexcoders] Using an embedded image at runtime, Please help.

Hi

I am still trying to get this print job done. I have got all of the text
working fine but I can't get the logo to appear at the top, I hope someone
can help.

I have this code:

private function printMovies(e:Event):void

{

                var mixiLogo:Image = new Image();

                mixiLogo.load("@Embed('../assets/mixipix.swf')");

                this.addChild(mixiLogo);

}

But I just get a broken image appearing when I fire the function.

With this version of the function:

private function printMovies(e:Event):void

{

                

                this.printJob = new FlexPrintJob();

                

                if(this.printJob.start()){

                                

                                this.printPanel = new Panel();

                                var txtApprovedList:Text = new Text();

                                var mixLogo:Image = new Image();

                                

                                mixLogo.load("assets/logo.swf");

                                

                                txtApprovedList.setStyle("color",0x000000);

                                txtApprovedList.width = printJob.pageWidth;

                                txtApprovedList.text =
this.txtMovieIDs.text;                    

                                

                                this.printPanel.addChild(mixLogo);

                                this.printPanel.addChild(txtApprovedList);

 
this.printPanel.setStyle("borderStyle","none");

                                

                                this.addChild(this.printPanel);

                                

 
printPanel.addEventListener(FlexEvent.CREATION_COMPLETE,this.doPrintCanvas);

                }

}

I get the panel and text appearing but no iamge at all, not even a broken
one.

I hope someone can help.

Giles Roadnight 

 

<<attachment: image001.jpg>>

<<attachment: image002.jpg>>

Reply via email to