Invert colors of an image in CSS or JavaScript

后端 未结 4 496
慢半拍i
慢半拍i 2020-12-12 15:53

How do I invert colors of an image (jpg/png..) in either css if possible or javascript?

Previous related questions don\'t give enough detail.

相关标签:
4条回答
  • 2020-12-12 15:59

    You can apply the style via javascript. This is the Js code below that applies the filter to the image with the ID theImage.

    function invert(){
    document.getElementById("theImage").style.filter="invert(100%)";
    }
    

    And this is the

    <img id="theImage" class="img-responsive" src="http://i.imgur.com/1H91A5Y.png"></img>
    

    Now all you need to do is call invert() We do this when the image is clicked.

    function invert(){
    document.getElementById("theImage").style.filter="invert(100%)";
    }
    <h4> Click image to invert </h4>
    
    <img id="theImage" class="img-responsive" src="http://i.imgur.com/1H91A5Y.png" onClick="invert()" ></img>

    We use this on our website

    0 讨论(0)
  • 2020-12-12 16:07

    Can be done in major new broswers using the code below

    .img {
        -webkit-filter:invert(100%);
         filter:progid:DXImageTransform.Microsoft.BasicImage(invert='1');
    }
    

    However, if you want it to work across all browsers you need to use Javascript. Something like this gist will do the job.

    0 讨论(0)
  • 2020-12-12 16:07

    For inversion from 0 to 1 and back you can use this library InvertImages, which provides support for IE 10. I also tested with IE 11 and it should work.

    0 讨论(0)
  • 2020-12-12 16:14

    CSS3 has a new filter attribute which will only work in webkit browsers supported in webkit browsers and in Firefox. It does not have support in IE or Opera mini:

    img {
       -webkit-filter: invert(1);
       filter: invert(1);
       }
    <img src="http://i.imgur.com/1H91A5Y.png">

    0 讨论(0)
提交回复
热议问题