It seems to me like there is something funky going on with the PNG itself. Like I said, Photoshop doesn't even recognize the transparency, and that makes me uber-suspicious. Is the mime type or something along those lines jacked up?
Ben --- In [email protected], "Matt Chotin" <[EMAIL PROTECTED]> wrote: > > 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" > <chimpathetic@> 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 <ben.clinkinbeard@> 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 >

