Please file a bug too if you haven't already.

 

Matt

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Doug McCune
Sent: Wednesday, January 31, 2007 9:29 PM
To: [email protected]
Subject: Re: [flexcoders] Re: PNG transparency failing in @Embed?

 

Just to follow up, here's my post that explains the issue and my
workaround:
http://dougmccune.com/blog/2007/01/31/problem-with-transparent-pngs-in-f
lex-using-embed/
<http://dougmccune.com/blog/2007/01/31/problem-with-transparent-pngs-in-
flex-using-embed/> 

Doug

Pan Troglodytes wrote: 

        Doug,
        
        Very cool that you tracked it down in SWFLoader.  Right now I
can get by with using GIF, but it's great to know if I absolutely have
to have more than 256 colors I can use your code.  Hopefully Adobe is
following this thread.  Either that, or they already tracked it down and
have it fixed internally but just never read my posts. ;) 
        
        

        On 1/31/07, Doug McCune <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> > wrote: 

        You're definitely right, that's a clear bug in how SWFLoader
works. I have a solution that involves duplicating the code for
SWFLoader and modifying it a little bit. What's interesting is that in
the Design view of FB, the PNG has perfect transparency in both cases.
But in the published SWF, the transparency is not preserved when using
@Embed.
        
        I will be writing up a blog post and my solution later today. 
        
        For now, here's a sample of the problem with a working solution.
I'll be writing up the description of what I had to do (obviously it's
not much since it didn't take very long). So if you want to check out
the code before I write up the post, the important part has to do with
setting the mimeType of the embedded asset, and then in the modified
SWFLoader code, check out around line 1217 in the loadContent method. It
uses loadBytes of the Loader class to load the bytes of the embedded
asset.
        
        http://dougmccune.com/flex/png_test/
<http://dougmccune.com/flex/png_test/> 
        (right click to View Source)
        
        Doug

        
        
        
        Pan Troglodytes wrote: 

        Could you clarify what you  mean by "works for me"?  Do you mean
you are getting transparency on the PNG?
        
        I uploaded my full code for an example:
        
        http://three.fsphost.com/flex2/png/PNGBug.html
<http://three.fsphost.com/flex2/png/PNGBug.html> 
        
        Just right-click to view the source.
        
        They both use the same png file.  The first one renders with an
olive background (the original background color of the image).  The
second renders the transparency properly. 
        
        Does this work differently under Flex/Flash Player for you?
        
        

        On 1/31/07, ben.clinkinbeard <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> > wrote: 

        <mx:Image source="@Embed(source='plusSymbol.png')"/> orks for
me...
        
        Not sure what else to recommend.
        
        --- In [email protected]
<mailto:flexcoders%40yahoogroups.com> , "Pan Troglodytes"
        <[EMAIL PROTECTED]> wrote:
        >
        > Sadly, no. It also doesn't work if you declare a variable like
        > 
        > [Embed(source="/assets/user-big.png")] private var
userIcon:Class;
        > 
        > 
        > FYI, from the docs:
        > 
        > About the source parameter
        > 
        > In almost all cases, you must specify the source parameter or
nothing is
        > embedded.
        > 
        > The source parameter is the default parameter of the [Embed]
        metadata tag;
        > therefore, if you are not specifying any other parameters, you
can just
        > supply its value without explicitly including the parameter
name or
        > assigning it the desired value
        > 
        > 
        > On 1/31/07, ben.clinkinbeard <[EMAIL PROTECTED]> wrote:
        > >
        > > According to the docs, the correct syntax is:
        > >
        > > <mx:Image source="@Embed(source='assets/user-big.png')"/>
        > >
        > > Does that work?
        > >
        > > HTH,
        > > Ben
        > >
        > > --- In [email protected]
<mailto:flexcoders%40yahoogroups.com>  <flexcoders%40yahoogroups.com>,
"Pan

        
        > > Troglodytes"
        > > <chimpathetic@> wrote:
        > > >
        > > > This is still a problem. I couldn't remember if I entered
it in the
        > > Adobe
        > > > bug page, so I just went ahead and did it. This is a bit
of a
        pain as
        > > > transparent icons are very important in GUIs. GIF works
fine but is
        > > limited
        > > > to 256 colors.
        > > >
        > > >
        > > >
        > > > On 12/6/06, Pan Troglodytes <chimpathetic@> wrote:
        > > > >
        > > > > I've run into a situation where the exact same PNG file
will show
        > > up as
        > > > > transparent only when it's not embedded. Here is the
mxml:
        > > > >
        > > > > <mx:Image source="@Embed('assets/user-big.png')"/>
        > > > > <mx:Image source="assets/user- big.png"/>
        > > > >
        > > > > Including both images on the page, the first is missing
the
        > > transparent
        > > > > background. The second is fine. I have manually checked
the
        > > images, both
        > > > > in the dev directory and bin directory. In fact, I have
manually
        > > copied the
        > > > > dev ones over the top of the bin ones to make sure. If I
drag the
        > > images to
        > > > > Firefox, both appear with no background. The background
color is
        > > teal, so I
        > > > > would definitely notice.
        > > > >
        > > > > Near as I can tell, the embed is causing the background
        > > transparency to
        > > > > not be processed. I can't find anything in the docs
saying this
        > > is expected
        > > > > behavior.
        > > > >
        > > > > --
        > > > > Jason
        > > >
        > > >
        > > >
        > > >
        > > > --
        > > > Jason
        > > >
        > >
        > > 
        > >
        > 
        > 
        > 
        > -- 
        > Jason
        >

        
        
        
        -- 
        Jason 

        
        
        

        
        
        
        -- 
        Jason 

 

 

Reply via email to