Инвертировать цвета изображения в CSS или JavaScript - программирование
Подтвердить что ты не робот

Инвертировать цвета изображения в CSS или JavaScript

Как инвертировать цвета изображения (jpg/png..) в css, если возможно, или javascript?

Предыдущие связанные вопросы не дают достаточно подробностей.

4b9b3361

Ответ 1

В CSS3 есть новый атрибут фильтра , который будет работать только в браузерах webkit в браузерах webkit и в Firefox. У него нет поддержки в IE или Opera mini:

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

Ответ 2

Может быть сделано в крупных новых браузерах, используя код ниже

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

Однако, если вы хотите, чтобы он работал во всех браузерах, вам нужно использовать Javascript. Что-то вроде this gist выполнит эту работу.

Ответ 3

Для инверсии от 0 до 1 и обратно вы можете использовать эту библиотеку InvertImages, которая обеспечивает поддержку IE 10. Я также тестировал IE 11, и он должен работать.

Ответ 4

Вы можете применить стиль через javascript. Js ниже.

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

И это html

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

Теперь все, что вам нужно сделать, это call oververt()

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>