quarta-feira, 12 de dezembro de 2012

Como tornar uma imagem em preto-e-branco com css


Update: O cara que disponibilizou a classe que eu copiei, atualizou o código. Segue abaixo:

 .imagem{  
   filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+ */  
   filter: gray; /* IE6-9 */  
   -webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */  
   -webkit-transition: all .6s ease; /* Fade to color for Chrome and Safari */  
   -webkit-backface-visibility: hidden; /* Fix for transition flickering */  
 }  

Só não funcionou no Safari nem no Opera...




..com a seguinte classe:


 .imagem{  
   filter: url("data:image/svg+xml;utf8,&lt;svg xmlns=\'http://www.w3.org/2000/svg\'&gt;&lt;filter id=\'grayscale\'&gt;&lt;feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/&gt;&lt;/filter&gt;&lt;/svg&gt;#grayscale"); /* Firefox 10+, Firefox on Android */  
   filter: gray; /* IE6-9 */  
   -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */  
 }  

Fonte: http://www.karlhorky.com/2012/06/cross-browser-image-grayscale-with-css.html

Um comentário:

Unknown disse...

muito bom, porém o primeiro filter não deu certo no firefox, mas azar, o importante é que no chrome e o ieca funciona