Wednesday, March 07, 2007

Mis esfuerzos de colorear en Paint..

Adquiriendo un poco de inspiracion y viendo que el cayo es más importante que la herramienta Me he dedicado a la divertida tarea de colorear una imagen

Imagen en cuestion

Sin embargo he tomado algunos consejos de la gente conocedora de esto y otro más

Obviamente no tengo la misma herramienta que ellos pero obteniendo el concepto basico y con el conocimiento del manejo de imagenes en C# se consigen efectos similares.


Como no he querido intentarlo primero con la imagen más grande he decidi probar los conceptos en algo más pequeño.

1.-Clarificar la imagen

Para definir la tonalidad de los colores que conformarán la imagen y que sea más facil agregarlos¿Y como hago eso en Paint?, No es posible..así que use lo más cercano limpieza de imagenes que tengo: La barra de Imagen de office (Power Point para no tener mayor problema), con la cual podre clarificar modificando brillo y contraste.

2.-Remarcar más las lineas de la figura.

También conocido como Lineart, es remargar contornos y lineas para que la imagen no se vea borrosa y sea más facil aplicar los colores.


3.-Aplicación de fondos

Recomendación de aplicar los fondos antes de colorear la imagen ya que resulta más facil arreglar el fondo que la imagen.
Yo prefiero hacerlo como un paso intermedio en el coloreo.

Fondo tomado de otra Imagen
4.-Aplicando colores.

Usar las areas ya limpias y de un color uniforme en la imagen para aplicar layouts o capas de colores.¿Capas?, Si como si cortaras un pliego de color de la medida exacta que necesitas y lo colocarlo como si rompecabezas se trataze
Obviamente esta tarea se simplifica dependiendo de la clarificación que hayas hecho (especialmente en paint donde los pixeles tienen que ser exactos al que intentas rellenar y normalmente tienes una gran cantidad de tonalidades siendo que de lejos se ve bien)


5.-No olvides los contrastes.
En este caso las sombras, oye no te mataste haciendo el Lineart y la clarificación para olvidarte de los claros obscuros

En la imagen a colorear resulto un poco más dificil los pasos ya que Power point no limitaba las tonalidades como yo queria haci que aplicando un poco de C# tenemos a un igualador de tonos.

public void EscalarGris(Bitmap bmImagen)
{int j,i;
unsafe //Porque es posible que explote
{
//se genera otra zona a modificar (x,y,ancho,largo,como se lera y los colores usados)

bmdDatos=bmImagen.LockBits (new Rectangle (0, 0 ,500 , 750 ), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb );

paso = bmdDatos.Stride ; //Para recorrer el arreglo donde se carga la imagen
linea = bmdDatos.Scan0 ; //Donde se tiene que apuntar para leer la imagen
offset=paso - (bmdDatos.Width *3); //Para evitar diferencias entre el tamaño de la fila y el numero de bytes en la misma.

byte * bByteArray = ( byte *)( void *) linea ;
for (j=0;j<750;j++) i="0;i<500;i++){">
valor = (int)((70 * bByteArray [ 2 ] + 150 * bByteArray [ 1 ] + 29*bByteArray [ 0 ])>>8) %65536

if (valor<255>=210)
{

bByteArray [ 0 ] = ( byte )( 0 ); //Azul
bByteArray [ 1 ] = ( byte )( 0 ); //Verde
bByteArray [ 2 ] = ( byte )( 0 ); //Rojo
}
if (valor<210>
&& valor>= 150)
{
bByteArray [ 0 ] = ( byte )( 100); //Azul
bByteArray [ 1 ] = ( byte )( 100); //Verde
bByteArray [ 2 ] = ( byte )( 100); //Rojo
}
if (valor<150>
&& valor>= 60)
{
bByteArray [ 0 ] = ( byte )( 155); //Azul
bByteArray [ 1 ] = ( byte )( 155); //Verde
bByteArray [ 2 ] = ( byte )( 155); //Rojo

}
if (valor<60>
&& valor>= 0)
{
bByteArray [ 0 ] = ( byte )( 255); //Azul
bByteArray [ 1 ] = ( byte )( 255); //Verde
bByteArray [ 2 ] = ( byte )( 255); //Rojo
}

bByteArray += 3;
}

bByteArray += offset ;
}

bmImagen.UnlockBits (bmdDatos);
}
}


Y como funciona bueno..una imagen es un array de bits en pares de tres (Rojo, verde y azul) más datos de la misma imagen la cual al aplicar la formula valor = (int)((70 * bByteArray [ 2 ] + 150 * bByteArray [ 1 ] + 29*bByteArray [ 0 ])>>8) %65536 obtenemos una escala de grises con valores de 0 - 255 (blanco-negro)
El arreglo se mueve de izq a derecha y de arriba a abajo.

Dependiendo del valor que obtengas solamente debes determinar qu
e rangos deben volverse de determinado color

Oye -se escucha entre el publico- No era más facil bajar un editor decente de internet
En efecto, sin embargo, el instinto de magiver actuo en mi, además usar 700 Mb en mi disco para cambiar imagenes los tonos de una imagen que ya esta en gris me ha parecido excesivo.

Bueno el resultado me lo da en negativo pero es algo que paint puede manejar sin problemas.

Colorear y lineart lo hago al paso ya que no tengo ni una idea de como debería verse un cabello negro tirando a azul purpura con una gran fuente de luz por detras


Progreso hasta ahora.

Final sin fondo


Criticas, Sugerencias y link a un programa liviano de edición son recibidos

3 comments:

Jesus Ferruzca said...

Yo por eso uso Fireworks o Corel Draw.. :S

Erkemao said...

No es que te sirva de mucho, pero tal vez te flipe este video de dibujo con Paint.
http://www.youtube.com/watch?v=ElrldD02if0

Saludos.

WithoutAngel said...

Gracias por el comentario erkemao, de hecho un video parecido (sino que el mismo) forma parte de los links en el articulo