This project is archived and is in readonly mode.

#546 ✓invalid
Greg

Simultaneous use of several filters under IE6

Reported by Greg | January 9th, 2009 @ 04:43 PM | in 2.0 (closed)

The problem is simple : we can't add filters on an object when the opacity is set. This is due to the opacity setter function :

if (Browser.Engine.trident) this.style.filter = (opacity == 1) ? '' : 'alpha(opacity=' + opacity * 100 + ')';

The filter property of the object is overridden each time the opacity is set, then if other filters are set, they're gone!

See the attached file for a patch.

This could be very useful especially for the png transparency filter DXImageTransform.Microsoft.AlphaImageLoader.

Comments and changes to this ticket

  • Valerio

    Valerio January 9th, 2009 @ 05:27 PM

    Greg,

    Im sure you cannot add a transparency filter to a png loaded with AlphaImageLoader anyways. Not sure about other filters.

  • elado
  • Valerio

    Valerio January 10th, 2009 @ 09:51 AM

    Yes, MooTools does "rewrite" all filters when setting opacity. My question is, which filters can actually co-exist with opacity in ie? Im 100% sure Alphaimageloader isnt one of them.

  • Greg

    Greg January 10th, 2009 @ 04:31 PM

    Valerio,

    with the filter property, you can add as many filters as you want. I did it. For opacity and png image loader, just write this :

    myObject.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=50) progid:DXImageTransform.Microsoft.AlphaImageLoader(src='test.png')"

    For more details, take a look at : http://msdn.microsoft.com/en-us/...

    cheers,

    Greg

  • Valerio

    Valerio January 10th, 2009 @ 05:13 PM

    • State changed from “new” to “invalid”

    At this time, we are not interested in supporting explorer filters.

    The only real "useful" explorer filters are AlphaImageLoader and opacity. And, for the third time, they do not work together.

    Ticket is invalid.

  • elado

    elado January 10th, 2009 @ 11:26 PM

    They work together, except of png transparency which becomes in gray color.

    
    <div style="width:175px;height:41px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://www.libpng.org/pub/png/img_png/pnglogo-blk-sml1.png') alpha(opacity=30)"></div>
    <div style="width:175px;height:41px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://assets1.twitter.com/images/twitter_logo_s.png') alpha(opacity=30)"></div>
    
    

    If I have some global png fix on my images even though I don't use transparency, it'll break.

  • Valerio

    Valerio January 11th, 2009 @ 07:30 AM

    They work together, except of png transparency which becomes in gray color.

    So they work together, except they dont?

    This is the best ticket ever.

  • elado

    elado January 12th, 2009 @ 07:18 AM

    As you know for sure, PNG doesn't have to have transpercy. Most automatic png fixes can't tell if it has or not, and then replace any with an AlphaImageLoader element.

    I had to use parent element(s) in order to have a png, gray() and an opacity (using mootools to set opacity) filters, all at the same time.

    I'm aware gray() isn't standard and not available on !IE at all, but the fix is to make more than one filter work simultaneously no matter what they are.

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

Shared Ticket Bins

People watching this ticket

Attachments

Pages