• Domingo 22 de Diciembre de 2024, 18:47

Autor Tema:  Formato Bmp  (Leído 60782 veces)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Formato Bmp
« Respuesta #25 en: Lunes 10 de Julio de 2006, 13:24 »
0
Cita de: "Eternal Idol"
Cita de: "JuanK"
Es extraño pero al parecer al dibujar copiando los datos del bmp en 3l objeto Bitmap de C# parecer no ser necesaria esta validacion. Puedes  pasarnos una de las imagenes con las que te fallaba?
He tratado de crear casos y ninguno me dio incluso los que habia usado en una aplicacion que hice en C( donde si aplicaba el caso) no me fallaron al dibujar en el objeto bitmap de C#.
Me parece que el lo esta haciendo en Delphi y no en C#.
Asi es pero el comentario es para que no se despisten los que lo estan haciendo en C#.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Formato Bmp
« Respuesta #26 en: Lunes 10 de Julio de 2006, 13:46 »
0
Cita de: "Geo"
Pero si lo interesante es participar :D. Ya, al final (muchas veces pasa), no hay ganador ni nada, pero todos aprendemos compartiendo.

Saludos,
JJ (Geo).
Si creo que eso es lo importante, = no hay ningun tipo de premio. Ojala todos los que lo hagan lo entreguen parab que compartamos el codigo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Formato Bmp
« Respuesta #27 en: Lunes 10 de Julio de 2006, 18:34 »
0
Hola de nuevo

Haciendo pruebas con algunos BMPs hubo uno en que me "fallo", como si ese BMP tuviera otro orden en los bytes de color.
Yo los leo del archivo segun este orden: offset,b1,g1,r1,b2,g2,r2,b3,g3,r3,.......
y los voy poniendo en el bitmap de abajo a arriba y de izquierda a derecha.
Bueno esto ultimo no se muy bien como iba en el vector del bitmapdata, pero haciendo pruebas simplemente los puse en ese orden en el vector y van bien colocados.
Lo curioso del bmp que me dio problemas es que lo abri con el paint lo volvi a guardar y entonces si estaban bien los colores  ;)

De momento no lo entrego  :lol:  seguire investigando poco a poco

Citar
Ya decia yo que se te demoraba mucho, imagino que lo hiciste usando la copia de los apuntadores ( Marshall).

Si estoy usando el codigo de la pagina que pusiste, simplemente cambie el formato de pixel del bitmap y funciona perfectamente

Citar
A mi tambien me quedo instantaneo, no ses ite fijas pero cuando escalas el dibujo el .net le hace una difusion de imagenes para m,ejorar la calidad, es un buen ejercicio quitarsela.

No he podido fijarme, ya que lo meto a tamaño real, si se pasa de la ventana simplemente le pongo un scrollbar  :lol:

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Formato Bmp
« Respuesta #28 en: Lunes 10 de Julio de 2006, 19:03 »
0
Cita de: "Diodo"
Por cierto cuantos somos para el reto?? Parece que no va muy en serio la competencia. Bueno como decian lo imporatante es participar.Si les parece una vez acabados se podria crear un post con los codigos de diferentes lenguajes en los que hicimos el programa,.... , supongo que a alguien le seria de utilidad
Ya tengo algo con Allegro, el programa se llama desde consola pasando el nombre de la imagen desde la línea de comandos, se carga y se "dibuja" a un BITMAP de Allegro, luego se muestra escalado en una ventana 800x600.

Pero quiero hacerlo con alguna librería GUI multiplataforma (no he manejado ninguna, siempre he trabajado en consola :P), es solo que no he encontrado tiempo para ponerme de lleno (vamos, Allegro ya la conozco un poco :D), al menos lo que hice con Allegro garantiza mi participación, espero tengan un poco de paciencia :D.

Por cierto, ¿cómo vas Danielo?

Saludos,
JJ (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Formato Bmp
« Respuesta #29 en: Lunes 10 de Julio de 2006, 19:10 »
0
Tranquilo  :lol:  Yo tampoco tengo prisa, es mas aun no funciona en todos,todos,todos los casos  :whistling: . Mas que nada lo decia por que creo que somos 3 o 4. Aun hay tiempo para que se anime alquien mas, en realidad si esta divertido el reto, ademas me viene bien para aprender cosas nuevas de c# y como es la estructura de un BMP

salu2  :hola:  y suerte

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Formato Bmp
« Respuesta #30 en: Lunes 10 de Julio de 2006, 19:13 »
0
ejejeje y eso que omiti lo del color de 16 bit... eso lo habria puesto muy interesante al menos para hacerlo en C.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Formato Bmp
« Respuesta #31 en: Lunes 10 de Julio de 2006, 19:52 »
0
mmm no tendien muy bien....


Se tiene que pedir un archivo bmp y que luego me lo muestre???

O tengo que redibujarlo???


Me hice bolas....
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Formato Bmp
« Respuesta #32 en: Lunes 10 de Julio de 2006, 20:16 »
0
El usuario indica qué archivo se va a mostrar, y supongo que lo puedes implementar como desees, pasándolo como parámetro desde la línea de comandos, o con algún diálogo de apertura de archivo.

Saludos,
JJ (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Formato Bmp
« Respuesta #33 en: Lunes 10 de Julio de 2006, 20:32 »
0
Cita de: "senzao18"
mmm no tendien muy bien....


Se tiene que pedir un archivo bmp y que luego me lo muestre???

O tengo que redibujarlo???


Me hice bolas....
Resumen:
Pedir la ruta de un archivo BMP y luego dibujarlo sin utilizar lqs funciones de carga de BMP que ya vienen con el lenguaje y/o librerias que uses. El dibujo de los datos del bmp leidos del archivo se deben hacer solo haciendo uso de la funcion putpixel ( o similares) o con algun mecanismo propio para tal fin.

Desde luego hay que señirce a las condiciones del reto.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Formato Bmp
« Respuesta #34 en: Lunes 10 de Julio de 2006, 20:44 »
0
Ah
 jajaja se me hacia demasiado facil solo seleccionar y mostrar...
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Formato Bmp
« Respuesta #35 en: Lunes 10 de Julio de 2006, 20:46 »
0
Cita de: "senzao18"
Ah
 jajaja se me hacia demasiado facil solo seleccionar y mostrar...
Pero de todas maneras el reto esta muy facil, prueba y veraz.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Formato Bmp
« Respuesta #36 en: Lunes 10 de Julio de 2006, 21:04 »
0
Lo que tengo hecho ahorita es meterlo en un objeto BMP

barrer pixel a pixel y redibujarlo en otro bmp,

eso vale?
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Formato Bmp
« Respuesta #37 en: Lunes 10 de Julio de 2006, 21:06 »
0
no  :comp:  :devil:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Formato Bmp
« Respuesta #38 en: Lunes 10 de Julio de 2006, 21:14 »
0
Cita de: "Eternal Idol"
Cita de: "JuanK"
Es extraño pero al parecer al dibujar copiando los datos del bmp en 3l objeto Bitmap de C# parecer no ser necesaria esta validacion. Puedes  pasarnos una de las imagenes con las que te fallaba?
He tratado de crear casos y ninguno me dio incluso los que habia usado en una aplicacion que hice en C( donde si aplicaba el caso) no me fallaron al dibujar en el objeto bitmap de C#.
Me parece que el lo esta haciendo en Delphi y no en C#.
Sip, pero no se como sucede. Todavía no logro reproducir la amanera uqe sucede el error:

Abro la imagen en mi programa, todo bien.
Abro la Imagen con el paint, la modifico y despues, a veces, se abre como torcido diagonalmente con los colores semi mezclados, parecido a lo que ocurre cuando se leen los pixeles de un bmp con el ancho-1. El tema es que si cambio el ancho de lectura en esos casos, se empeora. Los demás programas abren bien la imagen.

Probé hacer lectura de pixels saltando directamente al offset 54, pero es lo mismo.

Lo que me extraña es que casi nunca sucede.  :blink:
Yo supongo que debe ser una validación mas que falta como dice Juank.

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Formato Bmp
« Respuesta #39 en: Lunes 10 de Julio de 2006, 21:15 »
0
Cita de: "JuanK"
no  :comp:  :devil:
Ademas supongo uqe tampoco vale usar MATRICES DINAMICAS  PREDEFINIDAS como en Visual Basic por ejemplo, ¿o no?

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Formato Bmp
« Respuesta #40 en: Lunes 10 de Julio de 2006, 21:29 »
0
Cita de: "Enko"
Cita de: "JuanK"
no  :comp:  :devil:
Ademas supongo uqe tampoco vale usar MATRICES DINAMICAS  PREDEFINIDAS como en Visual Basic por ejemplo, ¿o no?
En teoria si, pero depende que cosas sean las que les hace el array que usen.

----
Si necesitas mas ayuda con lo de la validacion y te cansaste de buscar... pidela, a mi me costo mucho cuando hice el programa de los filtros gfraficos en C y allegro y no encontre informacion al respecto en internet... tarde un buen tiempo en sacarlo por ingenieria inversa.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Formato Bmp
« Respuesta #41 en: Lunes 10 de Julio de 2006, 22:51 »
0
Citar
no encontre informacion al respecto en internet...
Realmente es una pena. TanTa info basura... LA BUEN INFORMACION ESTÁ MONOPOLIZADA por compañias que tienen el dominio :(

¿Cuantas veces nos pasa que buscamos algo en internet y simplemente NO EXISTE? :angry:

Gracias por la ayuda, igualmente ahora tengo unas terribles ganas de jugar con un heditor exadecimal.

A PARTE:
se me ocurió una cosa para mandar mensajes ocultos en un bmp.
En la cabecera se guarda el ancho y el alto, por lo que el programa que lee el bmp, va leer solo  hasta llenar el ancho y el alto completo de la matriz.
Con eso, todos los bytes que esten despues del mapa, no serán leídos y si le añadimos algun cifrado barrato con un XOR  :kicking:  
Ahora lo pruebo y despues cuento...

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Formato Bmp
« Respuesta #42 en: Lunes 10 de Julio de 2006, 23:03 »
0
jajajaj  :lol: en  efecto para mi proyecto de grado me aproveche de esa situacion y cree mi propio formato derivado de la estructura de los bmp y asi fue como complete toda la demas informacion que me faltaba para los graficos y las animaciones de mi juego.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Formato Bmp
« Respuesta #43 en: Martes 11 de Julio de 2006, 01:07 »
0
Cita de: "JuanK"
jajajaj  :lol: en  efecto para mi proyecto de grado me aproveche de esa situacion y cree mi propio formato derivado de la estructura de los bmp y asi fue como complete toda la demas informacion que me faltaba para los graficos y las animaciones de mi juego.
Todavía no tuve que hacer eso. Lo que por lo general hago, es una imagen BMP con los distintos Tiles de la animacion . Aunque ahora que lo pienso, está bueno configurar la animacion directamente desde la imagen y no el código.
En muchos juegos, se ve que usan archivos a parte para configurar las animaciones (Ej: Artes Arcanas).

Admito que la idea está buena, se evita tener muchos archivos y ademas, los sprites se pueden ver desde cualquier visor. Lo malo es que si los modificas con Paint por ej. esa info extra se borra. :(

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Formato Bmp
« Respuesta #44 en: Martes 11 de Julio de 2006, 01:16 »
0
Si, pero es que el archivo solo s epodia abrir desde mi propio editor.

en un solo tile tenia todas las imagenes y como no todos los cuadros eran iguales y habian cuadros compuestos entre dos y mas recuadros pequeños, entonces almacenaba la informacion relevante a las posiciones de cada 'subBMP' dentro del bmp grande asi como otras infromaciones adicionales.

Todo en el mismo archivo y solo se podian crear ( codificar) y leer ( decodificar) con unas librerias que yo mismo cree para tal fin.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Nagisa

  • Miembro MUY activo
  • ***
  • Mensajes: 119
  • Nacionalidad: es
    • Ver Perfil
Re: Formato Bmp
« Respuesta #45 en: Martes 11 de Julio de 2006, 17:23 »
0
Hola:

Yo ya casi lo tengo terminado. Solo me falta pulir un par de detalles y ya estara listo (creo).  :)

Una pregunta JuanK: la solucion la posteamos aqui directamente o te la enviamos por MP?  :blink:

Saludos  :hola:
   

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Formato Bmp
« Respuesta #46 en: Martes 11 de Julio de 2006, 17:27 »
0
de preferencia a mi correo en archivo .zip o .rar pero cambiandole la extencion a .doc para que puedan subir los exes en el zip / rar

juank.ruiz@gmail.com

cuando ya todos hayan terminado las colocare publicas.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

inforsystem

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Formato Bmp
« Respuesta #47 en: Miércoles 12 de Julio de 2006, 01:57 »
0
Cita de: "Enko"
Cita de: "Eternal Idol"
Cita de: "JuanK"
Es extraño pero al parecer al dibujar copiando los datos del bmp en 3l objeto Bitmap de C# parecer no ser necesaria esta validacion. Puedes  pasarnos una de las imagenes con las que te fallaba?
He tratado de crear casos y ninguno me dio incluso los que habia usado en una aplicacion que hice en C( donde si aplicaba el caso) no me fallaron al dibujar en el objeto bitmap de C#.
Me parece que el lo esta haciendo en Delphi y no en C#.
Sip, pero no se como sucede. Todavía no logro reproducir la amanera uqe sucede el error:

Abro la imagen en mi programa, todo bien.
Abro la Imagen con el paint, la modifico y despues, a veces, se abre como torcido diagonalmente con los colores semi mezclados, parecido a lo que ocurre cuando se leen los pixeles de un bmp con el ancho-1. El tema es que si cambio el ancho de lectura en esos casos, se empeora. Los demás programas abren bien la imagen.

Probé hacer lectura de pixels saltando directamente al offset 54, pero es lo mismo.

Lo que me extraña es que casi nunca sucede.  :blink:
Yo supongo que debe ser una validación mas que falta como dice Juank.
Código: Text
  1. ancho = ancho_imagen *3; */ alineado para la linea de exploraciòn */
  2.  
  3. Se multiplica x3 por que cada pixel se representa por 3 bytes (r,g,b,).
  4. Luego:
  5.  
  6. ancho = (ancho + 3) & ~3; */ alineado en 4 bytes*/
  7.  
  8. bitsize = ancho * alto_imagen;
  9.  

saludos.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Formato Bmp
« Respuesta #48 en: Miércoles 12 de Julio de 2006, 14:57 »
0
Tu code Lo he quitado por que creo que enko no los pidio porque quiere hacerlos el mismo, por cierto no entiendo muy buie lo que hiciste, yo lo hacia de nua manera mas sencilla
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Nagisa

  • Miembro MUY activo
  • ***
  • Mensajes: 119
  • Nacionalidad: es
    • Ver Perfil
Re: Formato Bmp
« Respuesta #49 en: Miércoles 12 de Julio de 2006, 15:47 »
0
Uhm... La verdad que es casualidad, pero yo lo hacia igual...