Foros del Web » Programando para Internet » Javascript »

Texto transparente en Firefox (como filter chroma)

Estas en el tema de Texto transparente en Firefox (como filter chroma) en el foro de Javascript en Foros del Web. Todos hemos oido hablar del efecto " chromaK " o de "pantalla azul" (también puede ser verde). Se filma o se graba una escena con ...
  #1 (permalink)  
Antiguo 20/10/2008, 16:33
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Texto transparente en Firefox (como filter chroma)

Todos hemos oido hablar del efecto "chromaK" o de "pantalla azul" (también puede ser verde). Se filma o se graba una escena con un telón de fondo de un color 'liso'; luego en la posproducción, todo lo que tenga ese color se hace transparente y eso permite poner una imagen u otra película detrás para que se incorpore a la escena.

El efecto es muy fácil de hacer en una página web : se usa un filtro chroma() aplicado (p.e.) a un texto para hacerlo transparente, y que se vea la imagen de fondo como si fuera un diseño en las mismas letras.

Efecto Máscara / Marquesina

El problema es que los filtros DX son para Internet Explorer.

En Firefox el método es más complicado, pero también se puede. Hay que usar una combinación de CSS, JS, canvas (HTML) y un 'filtro' XOR. En realidad no sería un croma-K, porque no se transparenta un color sino el cruce de 2 capas, pero para el caso funciona lo mismo.

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html><head>
<title>EFECTO CROMA-K.</title>
<script type="text/javascript">
function transparenta(){

var miTexto = document.getElementById("texto");
var ancho = miTexto.offsetWidth;
var alto = miTexto.offsetHeight;

if(navigator.userAgent.indexOf("Firefox") != -1){
var canvas = document.getElementById("cromaK");
canvas.style.display = "block";

var cadena = miTexto.textContent;
miTexto.style.display = "none";

canvas.width = ancho;
canvas.height = alto;
var ejemplo = canvas.getContext("2d");

var colorFondoTexto = 
document.defaultView.getComputedStyle(miTexto, null).getPropertyValue("background-color");
var colorTexto = 
document.defaultView.getComputedStyle(miTexto, null).getPropertyValue("color");
var grosorTexto = 
document.defaultView.getComputedStyle(miTexto, null).getPropertyValue("font-weight");
var tamanoTexto = 
document.defaultView.getComputedStyle(miTexto, null).getPropertyValue("font-size");
var fuenteTexto = 
document.defaultView.getComputedStyle(miTexto, null).getPropertyValue("font-family");

ejemplo.fillStyle = colorFondoTexto;
ejemplo.fillRect(0, 0, ancho, alto);
ejemplo.save();
ejemplo.globalCompositeOperation = "xor";
ejemplo.translate(0, alto*0.8);
ejemplo.mozTextStyle = grosorTexto+ " " +tamanoTexto+ " " +fuenteTexto;
ejemplo.mozPathText(cadena);
ejemplo.fillStyle = colorTexto;
ejemplo.fill();
ejemplo.restore();
}}
onload = transparenta;
</script>
<style>
html{height:100%; width:100%; }
body{color:#ffffff; background-color:#000000; }

#contenedor{background-image:url(http://img43.imageshack.us/img43/9528/marmol2in.gif); 
background-color:#ffff80; overflow:visible; 
min-width:10px; min-height:10px; float:left; height:1; width:1; 
border:1px solid #ffff00; white-space:nowrap; }

#texto{font:bold 100px 'verdana' 'arial' 'serif'; 
filter:progid:DXImageTransform.Microsoft.Chroma(color='#ffffff'); color:#ffffff; 
background-color:#000000; zoom:1; }

#cromaK{display:none; }
</style>
</head><body>
<h2>Simula el filtro <tt>Chroma()</tt> (de IE) en Firefox. </h2>

<div id="contenedor"><span id="texto">Foros del Web</span><canvas 
id="cromaK"></canvas></div>

<p><strong>En el ejemplo las letras parecen transparentes y 
dejan ver el dise&ntilde;o de fondo.</strong></p>
</body></html> 
Aunque debería verse en cualquier Mozilla, éste es para Firefox y para IExplorer 5.5+.

Efecto borroso o nublado o desenfocado, sin filter blur.

Voltear texto verticalmente en Firefox ( sin filter : flipV(); flipH() )
  #2 (permalink)  
Antiguo 21/10/2008, 20:23
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Texto transparente en Firefox (como filter chroma)

Genial
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:01.