Artículos con la etiqueta 'mapa de bits "

¿Cómo aplicar la técnica de chroma key en Adobe Flash

La técnica de la clave de croma , es decir, la sustitución de un color dado con otro (o una fuente diferente), se ha disparado de nuevo en la última década con arrogancia considerable, gracias a la presente tecnología cada vez más extendido en la película y en el tratamiento de imágenes digitales.

Más información ...

Flash CS3: Crear un efecto reflejo en cualquier MovieClip

Tomando ventaja de una característica notable de ActionScript 3.0 (ver ActionScript 3.0, todos con el operador new ) he creado un ReflexMe clase capaz de generar un efecto "reflejo" de cualquier clip de película en esta biblioteca.

Flash Player Cargando ...

La fuente es parte del paquete de undolibrary - googlecode de esto - pero si lo deseas, puedes descargar los archivos individuales ReflexMe.as .

Más información ...

Efectos sobre el mapa de bits con perlinNoise ()

La clase BitmapData permite aplicar en algunos efectos simples útiles para diversos fines. Hemos visto cómo crear un efecto de "TV niebla" con unas pocas líneas de código ( Flash CS3: creación de la televisión de niebla en vigor en 1 segundo ). Ahora vamos a tratar con otro efecto "espectacular" que, como veremos más adelante, permite la creación de efectos visuales interesantes, como se muestra en el siguiente ejemplo: los parámetros variaron para observar los diferentes efectos, al hacer clic con el ratón sobre la imagen generada esto puede ser movido.

Flash Player Cargando ...

En esta ocasión, también se agregó un nuevo componente simple (de verificación) en Undolibrary ! A continuación, actualizar el repositorio SVN. La fuente está disponible aquí: MapEffect.zip

Más información ...

Papervision3D: mapa de bits, como el mango FIVe3D

A partir del ejemplo mostrado en la FIVe3D: tratar el mapa de bits , vemos la forma de lograr el mismo efecto usando Papervision3D 2.0 (Great White), a fin de continuar analizando el funcionamiento de esta versión beta Great White.

Flash Player Cargando ...

Más información ...

FIVe3D: Mapa de bits tratamiento

Con la versión 2.1 de FIVe3D también se puede manipular objetos Bitmap , con el fin de superar la limitación inicial de esta biblioteca sólo vector. e ruotarlo a nostro piacimento: Si se incluye un Bitmap en la biblioteca y esprotiamo para que pueda crear una instancia de forma dinámica con ActionScript, usted puede crear fácilmente un objeto Bitmap3D y gire a voluntad:

Flash Player Cargando ...

Más información ...

Cómo guardar las imágenes en Flash CS3

Con el uso de Adobe Flash CS3 de mapa de bits se ha desarrollado tanto que de inmediato se quería crear una pequeña pintura. . Ya hemos visto cómo hacer una pintura pequeña (ver pintura en Flash CS3 Creación de un pintor: sencilla aplicación de dibujo en Flash CS3 Pro ) puede soportar un verdadero "borrador" - gracias a la función de borrado de un uso particular de la capa de Shape y Bitmap . Digamos que Flash (a diferencia de Flex) de codificación no lo permite (como JPG o PNG) se guarda automáticamente los mapas de bits. Sin embargo, usted puede conseguir alrededor de él mediante un script del lado del servidor y la capacidad de Flash para enviar datos en POST.

Más información ...

Flash CS3 para crear la televisión de niebla en vigor en 1 segundo

Flash CS3 es increíble. Aquí es cómo crear la niebla clásico de la televisión en un segundo lugar con 10 líneas de código.

Flash Player Cargando ...

Más información ...

Pintura Flash CS3: verdadera herramienta de borrado de tiempo

A partir de los códigos previstos en crear una pintura en Flash CS3 , y la realización de pequeñas modificaciones, puede mejorar el instrumento de "borrar". Cómo añadir una figura no está visible, se puede utilizar como un "plan" para ejecutar el draw() en el modo de mezcla de "borrado". Como se muestra en el ejemplo siguiente, después de dibujar algo, mantenga pulsada la tecla Ctrl y el efecto de "eliminar" aparece ahora en tiempo real.

Flash Player Cargando ...

El código es el siguiente - Fuente :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
. MouseEvent ; flash.events de importación. MouseEvent ;
. BitmapData ; import flash.display. BitmapData ;
. Bitmap ; la importación flash.display. mapa de bits ;
. GradientType ; import flash.display. GradientType ;
/ /
. Matrix ; . flash.geom importación Matrix ;
/ /
Boolean = false ; var md: Boolean = false;
/ /
Sprite = new Sprite ( ) ; var event_spr: Sprite = new Sprite ();
event_spr ) ; addChild (event_spr);
/ /
Number = event_spr . stage . stageWidth ; var area_width: Número .. = event_spr fase stageWidth;
Number = event_spr . stage . stageHeight - 32 ; area_height var: Número .. = event_spr fase stageHeight - 32;
/ /
String = GradientType . LINEAR ; fillType var: Cadena = GradientType LINEAL;.
: Array = [ 0xFF0000 , 0x00FF00 , 0x0000ff ] ; var colores: matriz = [0xFF0000, 0x00FF00 0x0000FF];
: Array = [ 1 , 1 , 1 ] ; alfas var: matriz = [1, 1, 1];
: Array = [ 0 , 128 , 255 ] ; var ratios: matriz = [0, 128, 255];
String = SpreadMethod . PAD ; spreadMethod var: Cadena = SpreadMethod PAD;.
: Matrix = new Matrix ( ) ; var matriz: matriz = new Matrix ();
createGradientBox ( area_width , area_height , 1 , 0 , 0 ) ; . matriz createGradientBox (area_width, area_height, 1, 0, 0);
/ /
event_spr . graphics ) { con (event_spr. gráficos) {
fillType , colors , alphas , ratios , matrix , spreadMethod ) ; beginGradientFill (fillType, colors, alphas y ratios, la matriz, spreadMethod);
0 , 0 , area_width , area_height ) ; drawRect (0, 0, area_width, area_height);
; endFill ();
}
/ / Eventos Paint
( MouseEvent . MOUSE_DOWN , _onMouseDown ) ; . event_spr addEventListener ( MouseEvent MOUSE_DOWN, _onMouseDown.);
( MouseEvent . MOUSE_MOVE , _onMouseMove ) ; . event_spr addEventListener ( MouseEvent MOUSE_MOVE, _onMouseMove.);
( MouseEvent . MOUSE_UP , _onMouseUp ) ; . event_spr addEventListener ( MouseEvent MOUSE_UP, _onMouseUp.);
( MouseEvent . MOUSE_OUT , _onMouseUp ) ; . event_spr addEventListener ( MouseEvent MOUSE_OUT, _onMouseUp.);
/ /
BitmapData = new BitmapData ( event_spr . width , event_spr . height , true , 0 ) ; var bmpd: BitmapData = new BitmapData (ancho event_spr., event_spr altura, verdadero, 0.);
Bitmap = new Bitmap ( bmpd ) ; var bmp: Bitmap = new Bitmap (bmpd);
bmp ) ; addChild (bmp);
/ /
Forma / / Temporal
Shape = new Shape ( ) ; draw_shape var: Shape = new Shape ();
draw_shape ) ; addChild (draw_shape);
/ /
/ / Forma, no se muestra, que se utiliza para la "cancelación"
Shape = new Shape ( ) ; erase_shape var: Shape = new Shape ();

/ /
e : MouseEvent ) : void { función de _onMouseDown (e: MouseEvent ): void {
) ; debug ("_onMouseDown");
. lineStyle ( 10 , 0xffffff , 1 ) ; .. draw_shape gráficos lineStyle (10, 0xffffff, 1);
. lineStyle ( 20 , 0xffffff , 1 ) ; .. erase_shape gráficos lineStyle (20, 0xffffff, 1);
. moveTo ( e . localX , e . localY ) ; .. draw_shape gráficos moveTo (and. localX y localY.);
. moveTo ( e . localX , e . localY ) ; .. erase_shape gráficos moveTo (and. localX y localY.);
md = true;
}
/ /
e : MouseEvent ) : void { _onMouseUp function (e: MouseEvent ): void {
md = false;
. draw ( draw_shape ) ; .. bmp bitmapData empate (draw_shape);
. clear ( ) ; draw_shape gráficos claros ()..;
. clear ( ) ; erase_shape gráficos claros ()..;
}
/ /
e : MouseEvent ) : void { _onMouseMove function (e: MouseEvent ): void {
) ; debug ("_onMouseMove");
md && ! e . ctrlKey ) { if (md &&! y. ctrlKey) {
. lineTo ( e . localX , e . localY ) ; .. draw_shape gráficos lineTo (and. localX y localY.);
( md && e . ctrlKey ) { } Else if (&& md correo. CtrlKey) {
. lineTo ( e . localX , e . localY ) ; .. erase_shape gráficos lineTo (and. localX y localY.);
. draw ( erase_shape , null , null , "erase" ) ; bmp bitmapData draw (erase_shape, null, null, "borrar")..;
}
}
/ /
v : String ) : void { depuración de la función (v: Cadena ): void {
: Date = new Date ( ) ; var d: Fecha = new Date ();
d . getMinutes ( ) + ":" + d . getSeconds ( ) + ":" + d . getMilliseconds ( ) + ": " + v ) ; trace (m. getMinutes () + "" + d getSeconds () + "." + d getMilliseconds () + "" + v.);
}

): Hemos añadido una nueva forma, erase_shape no visible (que no se hizo ningún addChild() ):

1
2
3
...
/ / Forma, no se muestra, que se utiliza para la "cancelación"
Shape = new Shape ( ) ; erase_shape var: Shape = new Shape ();

En el código que se encarga de dibujo se ha introducido para la tecla de control y, si se pulsa, se refiere precisamente la forma erase_shape y se copian en el mapa de bits:

1
2
3
....
. lineTo ( e . localX , e . localY ) ; .. erase_shape gráficos lineTo (and. localX y localY.);
. draw ( erase_shape , null , null , "erase" ) ; bmp bitmapData draw (erase_shape, null, null, "borrar")..;

Más información ...

Cree una pintura en Flash CS3

Como se discutió en flash concurso de ActionScript: herramienta de borrado no se puede "borrar" un área en particular de un Sprite, MovieClip o la forma en que líneas fueron dibujadas a través de los gráficos de puntero o rectángulos. Hay, de hecho, el único método clear() que, sin embargo, no tiene efecto sobre toda el área de nuestro objeto. La solución al problema radica en la posibilidad de utilizar el mapa de bits y objetos BitmapData. Como veremos más adelante podemos acceder directamente y manipular mapas de bits con el fin de "borrar" golpes con un instrumento real "borrador".

Presentar dos métodos diferentes para lograr la "puerta". per esempio. El primer "draw" (borrar) los datos directamente en el BitmapData, utilizando el método fillRect() - también se puede utilizar setPixel() por ejemplo. El segundo método, la que yo prefiero, utiliza los métodos de las fusiones (blendMode).

En primer lugar vamos a ver qué tipo de organización es necesaria para alcanzar un mínimo de un pintor sencillo en Flash. En el diagrama siguiente se aplica a ambas propuestas, la "puerta":

bitmap de patrón-

He creado tres capas: la primera MovieClip o Sprite, y funciona como un controlador de eventos de fondo (MouseDown, MouseMove y MouseUp). El mapa de bits en segundo lugar, es nuestras capas principales, uno que realmente dibujado de gráficos se aplicarán y en el que la "puerta". , ecc…). La capa de la tercera y última, la forma, aborda dos cuestiones: la primera es que permite el uso directo de las funciones proporcionadas por el cursor de gráficos (como lineStyle , drawRect() , etc ...). También aumenta el rendimiento durante el gráfico de seguimiento, tal como se explica en detalle a continuación.

Más información ...


Deje de SOPA