Jak mogę odwrócić kolory obrazu (jpg/png ..) w obu css, jeśli to możliwe, lub javascript?Odwracanie kolorów obrazu w CSS lub JavaScript
Previousrelated pytania nie dają wystarczająco dużo szczegółów.
Jak mogę odwrócić kolory obrazu (jpg/png ..) w obu css, jeśli to możliwe, lub javascript?Odwracanie kolorów obrazu w CSS lub JavaScript
Previousrelated pytania nie dają wystarczająco dużo szczegółów.
CSS3 ma nowy atrybut filtru , który działa tylko w przeglądarkach Webkitsupported w przeglądarkach Webkit oraz w Firefoksie. To nie ma poparcia w IE lub Opera Mini:
img {
-webkit-filter: invert(1);
filter: invert(1);
}
<img src="http://i.imgur.com/1H91A5Y.png">
Nie działa w przeglądarce Firefox 16.0.2. Ale [tutaj] (http://forum.userstyles.org/discussion/32770/inverting-map-images/p1) Znalazłem, że to może zadziałać: 'filter: url (dane: image/svg + xml; base64, PHN2Z. ..
To dlatego, że firefox to nie webkit. Musiałbyś sprawdzić, czy przeglądarka jest webkitem, czy też dokonać inwersji poprzez konwersję base64. – toxicate20
Masz rację, działa w Chrome. Jestem prawie pewien, że to powinno działać w Firefoksie, jak powiedział [tutaj] (https://developer.mozilla.org/en-US/docs/CSS/filter): 'filter: url (" data: image/svg + xml ; utf8, "); "ale nie ma ... żadnych pomysłów? – laggingreflex
można zrobić w dużych nowych broswers przy użyciu kodu poniżej
.img {
-webkit-filter:invert(100%);
filter:progid:DXImageTransform.Microsoft.BasicImage(invert='1');
}
Jednakże, jeśli chcesz go do pracy we wszystkich przeglądarkach musisz używać Javascript. Coś takiego jak this gist wykona zadanie.
Do inwersji od 0 do 1 iz powrotem można użyć tej biblioteki InvertImages, która zapewnia obsługę IE 10. Testowałem również z IE 11 i powinno działać.
Możesz zastosować styl poprzez javascript. Kod Js poniżej.
function invert(){
document.getElementById("theImage").style.filter="invert(100%)";
}
I to jest html
<img id="theImage" class="img-responsive" src="http://i.imgur.com/1H91A5Y.png"></img>
Teraz wszystko co musisz zrobić, to inwertowany wezwanie()
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>
Można używać HTML5 canvas. Zobacz [ten samouczek] (http://www.html5canvastutorials.com/advanced/html5-canvas-invert-image-colors-tutorial/). – user197508