SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: tonilope en Jueves 1 de Marzo de 2007, 21:38

Título: Editar Fichero Bmp Pixel A Pixel
Publicado por: tonilope en Jueves 1 de Marzo de 2007, 21:38
Hola. Tengo unas imágenes en formato .bmp monocromo a las que me gustaría cambiar algunos pixels de color (de negro a blanco). La idea es poder manejar la imagen como si fuera una matriz de pixels. ¿Sabéis alguna forma de hacer esto? Estoy usando C con Dev-C++

Salu2 ;)
Título: Re: Editar Fichero Bmp Pixel A Pixel
Publicado por: JuanK en Jueves 1 de Marzo de 2007, 21:48
matriz de pixeles?
no.

a lo mas usar GetPixel y SetPixel.

Para manejarlo como un array de bytes hay mas posibilidades
Título: Re: Editar Fichero Bmp Pixel A Pixel
Publicado por: Geo en Jueves 1 de Marzo de 2007, 23:09
Depende del método que pretendas emplear, puedes utilizar alguna función de alguna librería para cargar la imagen y desde allí manipularla, por ejemplo: Allegro (http://alleg.sourceforge.net) te permite cargar imágenes BMP y luego acceder a los pixeles mediante las funciones putpixel y getpixel. También puedes usar la API de Windows para lo mismo, o incluso cargar tú mismo la imagen desde el archivo, sólo necesitas conocer la estructura de los archivos BMP y trabajar a partir de allí.

Prueba buscando en este mismo foro, con suerte encuentras algo ;).
Título: Re: Editar Fichero Bmp Pixel A Pixel
Publicado por: tonilope en Viernes 2 de Marzo de 2007, 01:04
Probaré con Allegro a ver qué tal. Gracias.

Salu2 ;)
Título: Re: Editar Fichero Bmp Pixel A Pixel
Publicado por: Geo en Viernes 2 de Marzo de 2007, 04:16
Es muy práctico hacerlo con Allegro, por otro lado, si deseas manipular directamente el archivo (programando completamente la carga del mismo), puedes darle una checada al foro de retos ;).

Suerte,
JJ (Geo).
Título: Re: Editar Fichero Bmp Pixel A Pixel
Publicado por: LeGatoRojo en Miércoles 7 de Marzo de 2007, 00:01
tambien puedes usar la memoria de la trajeta grafica, es como un arreglo. de hecho para manejar las coordenadas tienes que calcular la posicion del arreglo.