Sie können HTML5-Zeichenfläche verwenden. Siehe dieses Tutorial .
user197508
Antworten:
149
CSS3 hat ein neues Filterattribut Dies funktioniert nur in Webkit-Browsernwird in Webkit-Browsern und in Firefox unterstützt. In IE oder Opera mini wird es nicht unterstützt:
Funktioniert nicht in Firefox 16.0.2. Aber hier fand ich, dass dies funktionieren könnte: filter: url(data:image/svg+xml;base64,PHN2Z...<long address>...PC9zdmc+#invert);Könnte es?
Laggingreflex
4
Das liegt daran, dass Firefox kein Webkit ist. Sie müssten überprüfen, ob der Browser ein Webkit ist, andernfalls führen Sie Ihre Inversion über die base64-Konvertierung durch.
Toxicate20
2
Sie haben Recht, es funktioniert in Chrome. Ich bin mir ziemlich sicher, dass dies in Firefox funktionieren sollte, wie hier gesagt : 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?
Laggingreflex
1
Schön, aber es ist sehr krachend. Die Farben werden umgekehrt, aber wenn ich die Maus über meine Seite bewege, stürzt die Registerkarte ab. Versuchte es mit Google Chrome 25.0.1364.172 x86_64 Linux.
Panzi
Als Randnotiz kann man den Kontrast (0.1) `Filter betrachten.
Brice
11
Kann in großen neuen Browsern mit dem folgenden Code durchgeführt werden
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.
Antworten:
CSS3 hat ein neues Filterattribut
Dies funktioniert nur in Webkit-Browsernwird 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">
quelle
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.
quelle
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
quelle
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.
quelle