I followed a tutorial on how to add images to buttons by creating a class based on Button and a single skin based on ButtonSkin.mxml, but the images display incorrectly. The lighter the colour in the image, the more transparent it becomes. White is completely transparent and black is opaque. I have tried adjusting blendmodes, alpha, etc, in the skin, css and application. In fact I have spent hours trying to trace anything that might cause this or at least override it, but with no success. It works fine when I run the project for the tutorial (created with an unknown older Flex version), but not in my project. Does anyone know what could cause this or how to stop it?
The tutorial is here:
It works like this:
public class IconButton extends Button
public function IconButton()
IconButtonSkin.mxml, based on ButtonSkin.mxml:
public var someIcon:Class;
In IconButtonSkin was an array constant exclusions. Simply adding the id of the BitmapImage to this array caused the BitmapImage to be excluded from colorization by SparkSkin class:
static private const exclusions:Array = ["labelDisplay","icon"];
It displays correctly now.