Hemsida » Kodning » Bildjustering med CSS-filtereffekter

    Bildjustering med CSS-filtereffekter

    Justera bilden ljusstyrka och Kontrast, eller omvandla bilden till Gråskale eller Sephia är en vanlig funktion som du kan hitta i bildredigeringsprogram, som Photoshop. Men det är nu möjligt att lägga till samma effekter på webbbilder med hjälp av CSS.

    Denna förmåga kommer från filtereffekterna som faktiskt fortfarande finns i arbetsutkastet. Webkit-webbläsaren verkar dock vara ett steg för att implementera den här funktionen.

    Så, låt oss försöka, och vi kommer att använda den här bilden från Mehdi Kh för att visa effekterna.

    Effekterna

    Att tillämpa effekterna är väldigt enkelt. Ta en titt på biten nedan för att göra bilder till gråskale;

     img -webkit-filter: gråskala (100%);  

    ... och det här är för sepia ala Instagram.

     img -webkit-filter: sepia (100%);  

    Både sepia och den gråskale värden anges i procent där 100% är maximalt och tillämpar 0% kommer att hålla bilden oförändrad, men när värdet inte explicit anges, anger 100% kommer att tas som standard.

    Att förbättra bilden är också möjlig, och vi kan göra det genom att använda ljusstyrka funktion, enligt följande;

     img -webkit-filter: ljusstyrka (50%);  

    Lysstyrkeffekten fungerar som kontrasten och sepia-effekten ovan där värdet av 0% kommer att behålla bilden som den är och tillämpa 100% kommer helt att lysa upp bilden, vilket möjligen skulle visa en tom vit sida istället för en bild.

    Lysstyrkan också möjliggör negativa värden, i vilken det kommer mörka bilden.

     img -webkit-filter: ljusstyrka (-50%);  

    ... och vi kan justera bildkontrast på så sätt.

     img -webkit-filter: kontrast (200%);  

    Det är en liten skillnad på hur värdet fungerar också, som du kan se i ovanstående ställer vi in kontrast() av 200%, detta beror på att värdet av 100% är utgångspunkten där bilden kommer att förbli oförändrad. När värdet är under 100%, låt oss säga 50%, bilden blir mindre kontrasterad.

    Dessutom kan vi också kombinera effekten i ett deklarationsblock, som i exemplet nedan. Vi vrider in bilden gråskale och öka kontrast med 50% samtidigt.

     img -webkit-filter: gråskala (100%) kontrast (150%);  

    Genom att kombinera filtret med CSS3-övergången kan vi göra en graciös sväva effekt.

     img: sväva -webkit-filter: gråskala (0%);  img: sväva -webkit-filter: sepia (0%);  img: sväva -webkit-filter: ljusstyrka (0%);  img: sväva -webkit-filter: kontrast (100%);  

    Slutligen finns det en ytterligare effekt vi kan försöka. de Gaussisk suddighet, som kommer att oskärpa det riktade elementet.

     img: sväva -webkit-filter: oskärpa (5px);  

    Som i Photoshop anges blurvärdet i pixelradien och om värdet inte uttryckligen anges, kommer 0 att tas som standard och bilden lämnas som den är.

    Slutlig tanke

    Det finns faktiskt mycket mer effekter i spec. som nyans-rotera, invertera och mätta, men jag tror att de är mindre tillämpade i reella webbfall. Diskussionen var således begränsad till bara fyra effekter.

    Och trots att diskussionen tillämpas på bilder i den här handledningen kan egendomen faktiskt också tillämpas på något element i DOM.

    Slutligen kan du se live demo från dessa länkar nedan. Observera att filtret endast stöds för närvarande i Chrome 19 och ovan.

    • demo
    • Hämta källa