SE pueden insertar imagenes en c??????por fa alguiennn
HOla me gustaria saber si se pueden insertar imagenes en turbo c mediante algun comando archivo o libreira gracis de ante mano
la neta yo tambien kiero saber, y al otro wey si nos tacha de estupidos por no saber, que se vaya a la verga
Precisamente en eso estoy... y si se puede pero hay muchas formas y la mayoria, si no es que todas, son complejas
mandenme un correo y les mando un ejemplo que encontre. [email protected]
mandenme un correo y les mando un ejemplo que encontre. [email protected]
Hola!!!
Hace un tiempo yo ten铆a el mismo problema que vos con respecto a insertar im谩genes, pero era en Borland C/C++, aunque no creo que difiera en mucho...
A continuaci贸n te mando el c贸digo fuente de una librer铆a que lo que hace es dibujar pixel por pixel una im谩gen .BMP en modo gr谩fico, por supuesto, que dependiendo de la resoluci贸n que uses tiene que ser el tama帽o de la im谩gen.
El c贸digo es bastante corto, por esta raz贸n lo voy a transcribir a continuaci贸n:
//Librer铆a Para El Uso De Im谩genes BMP
#include <stdio.h>
#include <graphics.h>
/*
LO QUE HAGO CON ESTA FUNCION COLPIX() ES CAMBIAR EL COLOR DEL PIXEL
QUE SE VA A MOSTRAR EN LA PANTALLA, PORQUE LOS COLORES CAMBIAN DEL
PAINT DE WINDOWS AL BORLAND...
*/
char colpix(char c)
{
char op;
op=c;
switch(c)
{
case 1: op=4;break; //BLUE --><-- RED
case 3: op=6;break; //CYAN --><-- BROWN
case 4: op=1;break; //RED --><-- BLUE
case 6: op=3;break; //BROWN --><-- CYAN
case 7: op=8;break; //LGRAY --><-- DGRAY
case 8: op=7;break; //DGRAY --><-- LGRAY
case 9: op=12;break; //LBLUE --><-- LRED
case 11: op=14;break; //LCYAN --><-- YELLOW
case 12: op=9;break; //LRED --><-- LBLUE
case 14: op=11;break; //YELLOW --><-- LCYAN
}
return op;
}
int bmp16(int x1,int y1,char *imagen,int col)
{
int cont=-1,tamx,tamy,c1,c2,x,y;
FILE *fp;
if((fp=fopen(imagen,"rb"))==NULL) return 0;
while(cont++<=117)
{
if(cont==18)
{
tamx=fgetc(fp)|fgetc(fp)<<8;
cont++;
}
else
{
if(cont==22)
{
tamy=fgetc(fp)|fgetc(fp)<<8;
cont++;
}
else
{fgetc(fp);}
}
}
for(y=tamy+y1-1;y>=y1;y--)
{
x=x1;
while(x<tamx+x1)
{ cont=0;
while(cont++<4)
{ c1=c2=fgetc(fp);
c1>>=4;c2=c2&15;
if(x++<tamx+x1) putpixel(x-1,y,(c1=colpix(c1))==col?getpixel(x,y):c1);
if(x++<tamx+x1) putpixel(x-1,y,(c2=colpix(c2))==col?getpixel(x,y):c2);
}
}
} fclose(fp);
return 1;
}
Ten cuidado de poner bien los comentarios porque por la limitaci贸n de los m谩rgenes se suelen bajar, pero no es nada.
Espero que te ayude con tu problema, es probable que tengas que hacerle varios cambios, pero la idea te va a servir.
Chau!!!
Hace un tiempo yo ten铆a el mismo problema que vos con respecto a insertar im谩genes, pero era en Borland C/C++, aunque no creo que difiera en mucho...
A continuaci贸n te mando el c贸digo fuente de una librer铆a que lo que hace es dibujar pixel por pixel una im谩gen .BMP en modo gr谩fico, por supuesto, que dependiendo de la resoluci贸n que uses tiene que ser el tama帽o de la im谩gen.
El c贸digo es bastante corto, por esta raz贸n lo voy a transcribir a continuaci贸n:
//Librer铆a Para El Uso De Im谩genes BMP
#include <stdio.h>
#include <graphics.h>
/*
LO QUE HAGO CON ESTA FUNCION COLPIX() ES CAMBIAR EL COLOR DEL PIXEL
QUE SE VA A MOSTRAR EN LA PANTALLA, PORQUE LOS COLORES CAMBIAN DEL
PAINT DE WINDOWS AL BORLAND...
*/
char colpix(char c)
{
char op;
op=c;
switch(c)
{
case 1: op=4;break; //BLUE --><-- RED
case 3: op=6;break; //CYAN --><-- BROWN
case 4: op=1;break; //RED --><-- BLUE
case 6: op=3;break; //BROWN --><-- CYAN
case 7: op=8;break; //LGRAY --><-- DGRAY
case 8: op=7;break; //DGRAY --><-- LGRAY
case 9: op=12;break; //LBLUE --><-- LRED
case 11: op=14;break; //LCYAN --><-- YELLOW
case 12: op=9;break; //LRED --><-- LBLUE
case 14: op=11;break; //YELLOW --><-- LCYAN
}
return op;
}
int bmp16(int x1,int y1,char *imagen,int col)
{
int cont=-1,tamx,tamy,c1,c2,x,y;
FILE *fp;
if((fp=fopen(imagen,"rb"))==NULL) return 0;
while(cont++<=117)
{
if(cont==18)
{
tamx=fgetc(fp)|fgetc(fp)<<8;
cont++;
}
else
{
if(cont==22)
{
tamy=fgetc(fp)|fgetc(fp)<<8;
cont++;
}
else
{fgetc(fp);}
}
}
for(y=tamy+y1-1;y>=y1;y--)
{
x=x1;
while(x<tamx+x1)
{ cont=0;
while(cont++<4)
{ c1=c2=fgetc(fp);
c1>>=4;c2=c2&15;
if(x++<tamx+x1) putpixel(x-1,y,(c1=colpix(c1))==col?getpixel(x,y):c1);
if(x++<tamx+x1) putpixel(x-1,y,(c2=colpix(c2))==col?getpixel(x,y):c2);
}
}
} fclose(fp);
return 1;
}
Ten cuidado de poner bien los comentarios porque por la limitaci贸n de los m谩rgenes se suelen bajar, pero no es nada.
Espero que te ayude con tu problema, es probable que tengas que hacerle varios cambios, pero la idea te va a servir.
Chau!!!
claro que se puden insertar imagenes en turbo c no seas pendejo, solo necesitas saber como. estupido!