ProblemYou want to change the saturation of a display object. SolutionUse a saturation matrix and apply it with a ColorMatrixFilter object. DiscussionYou can affect saturation with the following matrix: a b c 0 0 d e f 0 0 g h i 0 0 0 0 0 1 0 In the preceding matrix, you need to determine the values of a through i with the following equations, where red, blue, and green are the luminance constants and value is the saturation value: a = (1 value) * red + value b = (1 value) * green c = (1 value) * blue d = (1 value) * red e = (1 value) * green + value f = (1 value) * blue g = (1 value) * red h = (1 value) * green i = (1 value) * blue + value When the saturation value is 0, the matrix is a grayscale matrix. You can use the ascb.filters.ColorMatrixArrays.getSaturationArray( ) method to construct a saturation matrix array, given just the value. sampleSprite.filters = [new ColorMatrixFilter(ColorMatrixArrays.getSaturationArray(2))]; |