FYI, I got a response from my bug report.  Since I couldn't include the PNG
on the bug report page, the Adobe person wasn't able to reproduce the
problem.  So I did some research and created a test app to send them to.
You can view it here:

 http://three.fsphost.com/flex2/pngbug/PNGBug.html

(Note: that for some reason, I have problems in Firefox loading Flex apps
off this host.  If you run into the same problem, try IE and/or go to the
srcview and run it locally)

It's based off this site:
 http://entropymine.com/jason/testbed/pngtrans/

It has a whole bunch of different PNG types with non-transparent GIF showing
how it should look properly.  As you can see, some render properly in both
the Embed/non-embed, some render correctly as a non-Embed and some render
incorrectly as either.  Hopefully, this will give someone a good test to run
against when fixing these bugs.

So first, there are the problems in support for PNG.

Second, there is the discrepancy between using @Embed and not using @Embed.




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

   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-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]> 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 [email protected] <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] 
<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





--
Jason

Reply via email to