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]> 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/
(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

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] > wrote:
>
>   <mx:Image source="@Embed(source='plusSymbol.png')"/> orks for me...
>
> Not sure what else to recommend.
>
> --- In flexcoders@yahoogroups.com <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 flexcoders@yahoogroups.com 
<flexcoders%40yahoogroups.com><flexcoders%40yahoog
> roups.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