Wie invertiere ich die Farben eines Bildes (jpg / png ..) entweder in CSS, wenn möglich oder in Javascript?
Antworten:
CSS3 hat ein neues Filterattribut Dies funktioniert nur in Webkit-Browsern wird in Webkit-Browsern und in Firefox unterstützt. In IE oder Opera mini wird es nicht unterstützt:
img {
-webkit-filter: invert(1);
filter: invert(1);
}
<img src="http://i.imgur.com/1H91A5Y.png">
filter: url(data:image/svg+xml;base64,PHN2Z...<long address>...PC9zdmc+#invert);Könnte es?
filter: url("data:image/svg+xml;utf8,<svg height='0' xmlns='http://www.w3.org/2000/svg'><filter id='blur'><feGaussianBlur stdDeviation='5' /></filter></svg>");aber es gibt keine Ideen?
Kann in großen neuen Browsern mit dem folgenden Code durchgeführt werden
.img {
-webkit-filter:invert(100%);
filter:progid:DXImageTransform.Microsoft.BasicImage(invert='1');
}
Wenn Sie jedoch möchten, dass es in allen Browsern funktioniert, müssen Sie Javascript verwenden. So etwas wie das Wesentliche wird den Job machen.
Sie können den Stil über Javascript anwenden. Dies ist der Js-Code unten, der den Filter auf das Bild mit der ID theImage anwendet.
function invert(){
document.getElementById("theImage").style.filter="invert(100%)";
}
Und das ist das
<img id="theImage" class="img-responsive" src="http://i.imgur.com/1H91A5Y.png"></img>
Jetzt müssen Sie nur noch invert () aufrufen. Dies tun wir, wenn Sie auf das Bild klicken.
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>
Wir verwenden dies auf unserer Website
Für die Inversion von 0 nach 1 und zurück können Sie diese Bibliothek InvertImages verwenden , die Unterstützung für IE 10 bietet. Ich habe auch mit IE 11 getestet und es sollte funktionieren.