Tan fácil como el pastel. Solo usa la misma imagen dos veces, una encima de la otra.
<div class="container">
<img class="main" src="http://www.pngmart.com/files/2/Mario-PNG-Image.png" />
<img class="glow" src="http://www.pngmart.com/files/2/Mario-PNG-Image.png" />
</div>
Usted acaba de trabajar en la imagen de abajo, la escala que sea un poco, brillante hasta que es blanca y luego se difuminan. Luego establece su opacidad en 0 y la vuelve a establecer en uno cuando la imagen de arriba está suspendida.
.container {
position:relative;
background-color:#444444;
width:600px;
height:600px;
}
img {
position:absolute;
max-height:90%;
top:50%;
left:50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
transform-origin: 0 0;
-webkit-transform-origin: 0 0;
}
img.main {
z-index:2;
}
img.glow {
z-index:1;
transform: scale(1.01) translate(-50%, -50%);
-webkit-transform: scale(1.01) translate(-50%, -50%);
filter: brightness(0) invert(1) blur(5px);
-webkit-filter: brightness(0) invert(1) blur(5px);
opacity:0;
}
img.main:hover ~ img.glow {
opacity:1;
}
No se requiere Javascript en absoluto.
https://jsfiddle.net/nkq1uxfb/3/
No, no lo es. Con css, solo puedes aplicar brillo/sombra a un elemento. Podría redondearse con css3, pero como no lo es y es una imagen rectangular, la sombra también será un rectángulo. – mreq
Tarea que consume mucho tiempo, y una pregunta interesante, sin embargo, me temo que será aún más lento intentar hacerlo programáticamente. –
Podrías hacer esto usando un lienzo pero sería difícil. Probablemente tendrá que recorrer cada píxel e identificar el límite de la botella (es decir, de izquierda a derecha en cada fila, encontrar el primero que no sea transparente y luego repetirlo de derecha a izquierda en cada fila).) Podrías hacer que todos esos píxeles se vuelvan verdes, luego agregar quitar 1 de las coordenadas x de la mitad izquierda, y agregar uno a los derechos, y hacer un poco menos de color verde, etc. La cosa es que no se vería igual debido a la curvas ... Hmmm ... ¡Creo que es un problema difícil! –