elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: ¿carga de imagenes BMP en C?? en: 17 Octubre 2016, 04:30 am
es que creo que ningunas de esas librerias son compatibles con turbo C y puesto a que la universidad me exige ese compilador no puedo cambiar a otro
2  Programación / Programación C/C++ / ¿carga de imagenes BMP en C?? en: 16 Octubre 2016, 23:23 pm
hola , me gustaría que me pudieran ayudar a cargar una imagen en  lenguaje C, yo uso el compilador de TC20 por que es el que utiliza la universidad.

yo tengo el siguiente código

Código
  1. #include <stdio.h>
  2. #include <dos.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5. #include <graphics.h>
  6.  
  7.  
  8. int loadbitmap(char *filename,int,int);
  9.  
  10. main ()
  11. {
  12.  
  13. loadbitmap("p.bmp",100,100);
  14.  
  15.  
  16. }
  17.  
  18.  
  19. int loadbitmap(char *filename,int wid,int hei)
  20. {
  21. FILE *ptr=NULL;
  22. int width,height, ch,ch1,ch2;
  23. unsigned long temp=0,i=0,j=0;
  24. unsigned long ww;
  25. char *linea;
  26.  int adapta, modo;
  27. detectgraph(&adapta,&modo);
  28. initgraph(&adapta,&modo,"");
  29.  
  30. ptr=fopen(filename,"rb");
  31. linea = (char *) malloc (sizeof(ptr));
  32.  
  33.  
  34. if(!ptr) return 0;
  35. width=0;height=0;
  36. fseek(ptr,18,SEEK_SET);
  37. fread(linea, width, 1, ptr);
  38. for(i=0x1;i<=0x10000;i*=0x100)
  39. {
  40. temp=fgetc(ptr);
  41. width+=(temp*i);
  42. }
  43. fseek(ptr,22,SEEK_SET);
  44. for(i=0x1;i<=0x10000;i*=0x100)
  45. {
  46. temp=fgetc(ptr);
  47. height+=(temp*i);
  48. }
  49.  
  50.  
  51. ww=width;
  52. if(ww%2)
  53. ww++;ww/=2;
  54. if(ww%4)
  55. ww=(ww/4)*4+4;
  56.  
  57. fseek(ptr,119,SEEK_SET);
  58. moveto(200,300);
  59.  
  60.  
  61. for(i=0;i<height;i++)
  62.  
  63. for(j=0;j<ww;j++)
  64.  
  65.  
  66. {
  67.  
  68. ch=fgetc(ptr);
  69. ch1=ch;ch2=ch;
  70. ch1=ch1&(0xf0);ch1=ch1>>4;
  71. ch2=ch2&(0x0f);
  72.  
  73.  
  74. if(j*2<width)
  75.  
  76. putpixel((j)*2+wid,(hei+height-1-i),getcol(ch1));
  77. if(j*2+1<width)
  78. putpixel((j)*2+1+wid,(hei+height-1-i),getcol(ch2));
  79. }
  80. fclose(ptr);
  81. return 1;
  82. }
  83.  
  84.  
  85.  
  86. int getcol(int col)
  87. {
  88. switch(col)
  89. {
  90. case 0: return 0;
  91. case 1: return 4;
  92. case 2: return 2;
  93. case 3: return 6;
  94. case 4: return 1;
  95. case 5: return 5;
  96. case 6: return 3;
  97. case 7: return 7;
  98. case 8: return 8;
  99. case 9: return 12;
  100. case 10:return 10;
  101. case 11:return 14;
  102. case 12:return 9;
  103. case 13:return 13;
  104. case 14:return 11;
  105. case 15:return 15;
  106. }
  107. return col;
  108. }



el cual aparentemente si lee la imagen pero a la hora de mostrarla en pantalla no lo hace como me gustaría obteniendo el siguiente resultado



nada en comparacion con la que quiero insertar



les agradecería mucho si me pudieran ayudar
3  Programación / Programación C/C++ / Re: ¿ como puedo cargar una imagen en lenguaje c? en: 24 Septiembre 2016, 07:05 am
gracias por tu ayuda
4  Programación / Programación C/C++ / Re: ¿ como puedo cargar una imagen en lenguaje c? en: 24 Septiembre 2016, 06:52 am
Bueno por que estoy iniciando en lo que es la programación y ese es el que usamos en la universidad , uso las liberias

conio
stdlib
stdio
graphics
5  Programación / Programación C/C++ / ¿ como puedo cargar una imagen en lenguaje c? en: 24 Septiembre 2016, 04:59 am
hola , necesito poder cargar una imagen el lenguaje C yo utilizo el compilador turbo C
me pasaron este codigo pero la verdad no me funciono:

Código
  1. void *imagen;
  2. unsigned int tamImagen, ancho, alto;
  3. FILE *archivo;
  4. archivo = fopen("c:\\imagen.bmp", "rb");
  5. fread(&ancho, sizeof(unsigned), 1, archivo);
  6. fread(&alto, sizeof(unsigned), 1, archivo);
  7. tamImagen = imagesize(0, 0, ancho, alto);
  8. imagen = malloc(tamImagen);
  9. rewind(archivo);
  10. fread(imagen, tamImagen, 1, archivo);
  11. fclose(archivo);
  12. putimage(0, 0, imagen, COPY_PUT);


espero me puedan ayudar


Mod: Los códigos deben ir en etiquetas GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines