martes, 06 de septiembre de 2005
Color para renderización de video

¿Alguna vez han tratado de tomar una captura de pantalla en un video reproduciéndose? Bueno, para los que no lo han intentado... no se puede, al menos con Windows Media. Luego de tomar la captura verán que no aparece nada en la zona del video (se ve un color negro), pero ese negro no es cualquier color.

Hagan esta prueba: Capturen con la tecla "Impr Pant" cualquier video en Windows Media, luego sin minimizar el reproductor abran Paint y hagan clic en el menú Edición - Pegar. Parece mágico pero... ¡ahora el video se ve en Paint!!! ¿Porqué?

El color de renderizado es usado por DirectX (DirectShow) para dibujar las imágenes del video en tiempo real sobre la pantalla, en la zona donde aparezca dicho color. Dicha técnica es conocida como Overlay. Los reproductores que utilizan Overlay, dibujan sobre su ventana una zona con dicho color para que sea ahí donde se pueda ver la película. Es por ello que en PCs lentas, al momento de mover la ventana de Windows Media (o de otros reproductores como Winamp) pareciera que el video se desenfoca del reproductor por unos instantes y luego se ubica normalmente. Ojo, este comportamiento sólo se ve cuando la opción "Mostrar ventana mientras se arrastra" está activada en las Propiedades de pantalla.

Este color "mágico" es 0x100010 en hexadecimal y 16, 0 , 16 en RGB.

Haciendo unas pequeñas pruebas en Visual Basic, se puede hacer que en una ventana se renderize un video mediante Windows Media. Por ejemplo:

Private Sub Form_Load()

Me.BackColor = &H100010
End Sub
ó
Private Sub Form_Load()

Me.BackColor = RGB(16, 0, 16)
End Sub

Carguen el formulario, abran un video y pongan éste útltimo detrás de nuestro programa. Verán cómo aparentemente, el fondo del formulario es transparente. Esto es aplicable a cualquier otra aplicación incluyendo páginas web, imágenes, etc.

Publicado por gustavoalegre a las 3:43 PM | 1 Comentarios | Enviar
Comentarios
Añadir un comentario
Autor: serrat
Fecha: domingo, 18 de marzo de 2007
Hora: 9:06 PM

HOLA, OYE ME INTERESA MUCHO SABER COMO COPIAR UNA IMAGEN DEL VIDEO, O SEA, ASI DE PONER IMPR PANT DEL REPRODUCTOR, Y LUEGO TENERLA EN PAINT, SE PUEDE? ME DICES COMO? TE DEJO MI MAIL VALE POR SI ME QUIERES CONTESTAR jgjllo@hotmail.com GRACIAS