Foros del Web » Programación para mayores de 30 ;) » C/C++ »

problema al imprimir imagen

Estas en el tema de problema al imprimir imagen en el foro de C/C++ en Foros del Web. hola a todos. bueno pues estoy aprendiendo a manejar imagens en c y estoy empesando con bmp y tengo un problemas que un pendazo se ...
  #1 (permalink)  
Antiguo 08/06/2014, 20:38
Avatar de Drewermerc  
Fecha de Ingreso: febrero-2014
Mensajes: 185
Antigüedad: 10 años, 9 meses
Puntos: 5
problema al imprimir imagen

hola a todos.
bueno pues estoy aprendiendo a manejar imagens en c y estoy empesando con bmp y tengo un problemas que un pendazo se compila bien y se ejecuta pero al llegar a la linea que les mostrare adelante deja de funciona y lo depude con gdb yme dice comparacion inavalida.
e pensado que alomejor el problema es en intentar comparar solo una posicion del array aparte de que es muy grande por que imprimir el valor de la operacion y si es algo grande y bueno nose cual sea el error por que en el tutorial que encontre pone un resultado que si sale impresa la imagen o no creo que sea por que el creo la imagen con image magick pero no encuentro com crearlaen windows ncuentro pura informacion para linux pero no me funcionan lo comando y yo creo la imgen con gimp.

bueno aqui les dejo la sección de codigo donde me marca error.

Código C:
Ver original
  1. void TextDisplay(bmpInfoHeader *info, unsigned char *img)
  2. {
  3.  int x, y;
  4.  static const int reduccionX=6, reduccionY=4;
  5.  /*si la componente en x o y superan el umbral sera igual a 1*/
  6.  static const int umbral=90;
  7.  static unsigned char colores[9]=" blgfrRGB";
  8.  int r ,g ,b , valor = 0;
  9. valor = 3*(x+y*info->width);
  10. printf("%d\n", valor);
  11.  for (y=info->height; y>0; y-=reduccionY)
  12.    {
  13.      for (x=0; x<info->width; x+=reduccionX)
  14.    {
  15. /*aqui es donde marca el error y el rpograma deja de funcionar se supone que si  img[3*(x+y*info->width)]>umbral debe dar uno bueno eso es lo que leentendi alomejor me equivoco si esasi corrijanme */  
  16.      b=(img[3*(x+y*info->width)]>umbral);
  17.      g=(img[3*(x+y*info->width)+1]>umbral);
  18.      r=(img[3*(x+y*info->width)+2]>umbral);
  19.  
  20.      printf("%c", colores[b+g*2+r*4]);
  21.    }
  22.      printf("\n");
  23.    }
  24. }

La imagen se debe imprimir por consola y depende de los valor que sea de colores se imprimira alguna letra de las que se le declaro.

Bueno espero que me puedan ayudar.
Saludos.
Drewermerc.

Etiquetas: funcion, int
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:44.