Wesley Jeftha
Wesley Jeftha

Reputation: 153

using Matrix and AlphaImageLoader at the same time

Having an issue with the following IE filters:

progid:DXImageTransform.Microsoft.Matrix()

progid:DXImageTransform.Microsoft.AlphaImageLoader()

I cant get both of them working at the same time on the same element.

If I apply either one of them individually they work, but cant seem to chain these effects?

Has anyone seen this bug before?

What would be the correct syntax?

I have tried several combinations as recommended on SO and the MS reference sites, but none have solved my issue.

Upvotes: 0

Views: 131

Answers (1)

ScottS
ScottS

Reputation: 72261

If you want the effects to occur in the order you specify above (Matrix then AlphaImageLoader), it is not possible.

The AlphaImageLoader is a procedural surface, which in the static filters descriptions such as Matrix it is noted that (emphasis added by me):

When multiple filters are applied to an object, each filter is process in source order, with the exception of procedural surfaces, which are computed first. To emphasize a filter's effect, place it last in source order or on the object's parent. Always place transitions last in source order.

So the AlphaImageLoader will always process first, even if it is defined last. If order is not an issue to you (though I suspect it is), then simply this should work:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader() progid:DXImageTransform.Microsoft.Matrix();

Note the spaces (whitespace) between the filter calls. You cannot call it one place and then again in another, as it will overwrite the previous filter. So this does not work as the second will overwrite the first:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader();
filter: progid:DXImageTransform.Microsoft.Matrix();

Upvotes: 2

Related Questions