Beste Weg, zu maskieren Sie ein Bild in HTML5
Ich Frage mich, was ist der beste Weg, zu maskieren von Bildern in HTML 5 ?
In der Tat würde ich mag, um anzuzeigen, Kreis thumbnails in einer Galerie, ohne dass mein client mit der Vorbereitung der kreisförmigen Bilder...
Also ich habe, meiner Meinung nach, zwei Möglichkeiten : Leinwand-Maskierung oder altmodische Weise
Haben Sie andere Ideen ? Best practices ?
Dank
- habe meine Antwort u helfen . wenn Sie getan haben Stimmen mir da die richtige Antwort
Du musst angemeldet sein, um einen Kommentar abzugeben.
könnten Sie
border-radius
des Bildes einstellen, die Hälfte davon mit den Abmessungen (so, dass die Grenze definiert einen Kreis)mask
undmask-clip
Eigenschaften (hier ist eine schöne demo : http://www.webkit.org/blog/181/css-masks/)Hängt die Wahl auf die gezielte Browser und die Zeit, die Sie investieren möchten.
Für eine voll cross-browser-Ergebnis, ich empfehle das altmodische Weise, aber wenn Sie wollen mehr Formen (evtl. dynamischen) oder mehr als nur Bild-Maskierung, könnten Sie versuchen, svg oder canvas.
drawImage
mit derglobalCompositeOperation
sehen diese
überprüfen Sie diese http://jsfiddle.net/WQSLa/1/
BEARBEITEN
u können auch versuchen, diese http://jsfiddle.net/jalbertbowdenii/WQSLa/3 wie vorgeschlagen durch albert
Hier ist die Methode, die funktioniert für mich am besten:
Für ein 200px Kreis, Ihre SVG-könnte wie folgt Aussehen:
Und CSS könnte wie folgt Aussehen:
Und wenn Sie wollen, etwas mehr in die Tiefe, fand ich diese Anleitung sehr hilfreich: http://collidercreative.com/how-to-create-css-image-masks-for-the-web-with-svgs/.
<img src="/images/myimage.jpg" id="image-mask">
.Zur Aktualisierung der Antwort, versuchen Sie
clip-path
(siehe dieses css-tricks posten).caniuse zeigt mit über 80% Unterstützung jetzt, wenn Sie die
-webkit-
Präfix als gut. Also das ist für mich arbeiten (IE/Edge, obwohl, kann sein, limitierende Faktoren):