There is a limit as to how many layers containing alpha transparency that can be handled by flash, I believe it is 24. I heard that you could get around this by using assets in the library, this prompted me to do some research.
First I loaded a png image using MovieClipLoader, I used a magnifying tool on the image to confirm that some pixels where of the same value as the original.
Next I used attachMovie() to add the png from the library. Using the tool there was a difference between pixel colours.
I then used attachBitmap() and BitmapData.loadBitmap to get the image from the library, this also had colour anomalies.
Finally I loaded the png with MovieClipLoader and did a snapshot using draw(), this produced a perfect replica pixel for pixel.
Now what I first thought was that the assets in the library must be drawn using the vector renderer and that would explain the difference, however, the docs for BitmapData.draw() say that that method uses the vector renderer, so if that is so, why does draw() do a perfect copy but the other methods do not?
Regards
Neil
Flash Developer