PDA

Ver la versión completa : Graficos En C Aki!



Jakofff
09-05-2002, 05:06
para mi el lenguaje mas potente eS C y komo ven el titulo, estoy trabajando en ambiente grafico.

este post es para akellos ke tambien lo hagan y pongan trukos o simplemente para ahorrar rutinas a otros!

para trabajar en ambiente grafico en c necesitan tener:

la libreria graphics.h y los archivos .bgi y .chr y muchas ganas de aprender!

kreo para trabajar en grafikos es necesario tener digamos konocimientos en programacion en c nivel medio! y muchas ganas de aprender !

si alguien kiere kolaborar aki esta abierto a todo!

salu2

talyes
09-05-2002, 10:09
oye, pues resulta q hace tiempo ya estube andando en el tema grafico en c. Lo que hacia era básicamente cojer .bmp, leerlos byte a byte y con un putpixel irlos imprimiendo en pantalla. a ver si encuentro el código y te lo mando

eXcalibur
09-05-2002, 14:13
Los muñecos los hice pixel pixel en el mismo editor del C++

Jakofff
10-05-2002, 04:26
pues yo en c ya estoy kon grafikos chidos! lo de las bmp me interesa!

yo por lo mientras tengo un proyectito por hay para manejar el mouse ! y kreo ke me pinta chido el mendigo!!

por cierto tengo manuales pa los novatos donde los kuelgo!

bEaViX
15-05-2002, 18:24
ole, yo me he puesto hoy con el conecta4 en grafico.. no tngo ni papa de grafico en C, pero mola jeje... sabeis alguna forma de usar el turbo c en winxp? es q es el que uso en claase, y en xp se me cuelga tol rato Oo... creo q esta pregunta no iria en esta seccion...

Jakofff
18-05-2002, 04:13
en realidad no tengo ni idea de tc en el xp pero podiras buskar en la web de borland!

y en grafikos uyyy esta de lujo!

ChotaJr
15-03-2006, 09:52
:mad: Graficos en C y con Xp me caga en los huevos con eso porque como ya comente en otra parte de este foro el XP no te limita el uso de las interrupociones y sobre todo la de video que es la 10h algunos de sus servicios estan limitados pero yo he resuleto parte del problema, con ademas de inicializar graficos con int 10h y al,0 y ah,12 o creo que va al reves , tambien mando a llamar la tarjeta de video con el siguiente codigo
#define r640x400x256 0x100
#define r640x480x256 0x101
#define r800x600x256 0x103
#define r1024x768x256 0x105
#define r1280x1024x256 0x107
#define r320x200x15b 0x10d
#define r640x480x15b 0x110
#define r800x600x15b 0x113
#define r1024x768x15b 0x116
#define r1280x1024x15b 0x119
#define r320x200x16b 0x10e
#define r640x480x16b 0x111
#define r800x600x16b 0x114
#define r1024x768x16b 0x117
#define r1280x1024x16b 0x11a
#define r320x200x24b 0x10f
#define r640x480x24b 0x112
#define r800x600x24b 0x115
#define r1024x768x24b 0x118
#define r1280x1024x24b 0x11b

eso sera para manejar las resoluciones que se les hinchen los huevos poner
int IniciaGraf(int m)
{
unsigned int mx,my;
if(VerTargeta(0))
{
printf("No se Soporta Vesa");
bioskey(0);
exit(0);
}
if(Info_Modo(m,0))
{
printf("No se Soporta El Modo Grafico: %d",m);
bioskey(0);
exit(0);
}
Granu=inf->granularidad;
if(inf->bxp==8||inf->bxp==24)
Granu*=1024;
else
Granu*=512;
mx=inf->x;
my=inf->y;
maxx=(long)mx;
maxy=(long)my;
asm {
mov ax, 0x4f02
mov bx, [m]
int 0x10
cmp ax, 0x004f
jne Error
}
if(inf->bxp==8)
Darpaleta(paletaAct);
if(inf->bxp==24)
banks=(3*maxx*maxy)/Granu;
else
banks=(maxx*maxy)/Granu;
return(1);
Error:;
return(0);
}

bueno he aqui otra parte obviamente tienen que definir si funciona su vesa o no es soportado checan su granularidady esas mamadas , ademas no se les olvide dividdir su poantalla en bancos , obviamente para que no tengan problemas con los graficos es necerio que los cierren con el servicio 03 de la int 10 bueno yo creo que que con eso tendran tanto como para hacer graficos de poca madre y cargar bmp's a incluso con algunas resoluciones de 1024 x 800 o algo asi obviamente deberan hacersu libreria.h es lo mas recomendable pero solocon que le metan un poquito de cerebro sera mas que suficiente para hacer todo lo que os digo bola de mendigos jijos de la pelotuda mierda y por supuesto el codigo va probado os digo porque lo que os he pasado es parte de la libreria que he construido y ps digo que funciona solo teneis que agregar unas 200 o 300 lineas mas que son mas que obvias al menos con esto le ahorro el esfuerzo de probar con PCX's y pasan directo a BMP's oki

SxR
15-03-2006, 16:28
Chota, no te vuelvo avisar, puedes usar lenguaje menos ofensivo, por favor.

ChotaJr
18-03-2006, 11:03
:mad: Chale hijo, todavia de que les trato de ayudar se enojan que mala onda .
bueno en fin sino quereis que coopere, esta bien eso me pasa por intentar ayudar

clarinetista
18-03-2006, 16:19
Hay formas y formas ChotaJr, y esa no es la correcta.
Todos intentamos ayudar, de una forma o de otra en lo que podemos, pero primero si sabes mas que lo demas, respeta al que no sabe, y segundo, respeta tambien las normas del foro, que para algo estan.
Un saludo

PD: creo que con este post ya he respondido todos los otros

SxR
18-03-2006, 16:25
Claro que nos encanta que cooperes, y además parece que sabes de lo que hablas (todavía falta mucho para saber por dónde tiras), pero el vocabulario nunca está de más.

ChotaJr
01-04-2006, 22:34
:mad: :mad: :mad: :mad:
AHH POR CIERTO EL CODIGO QUE OS PUSE AQUI PODRIA TENER ALGUNOS PROBLEMAS CON EL WINXP
PORQUE ALGUNOS SERVICIOS DEL VECTOR DE INTERRUPCIONES ESTAN INHABILITADOS QUE LO QUE PODRIAN HACER ES HABILITARLOS .

JESENIA TE AMO . FELIZ CUMPLEAÑOS 1/ABRIL/2006.
:mad:

nlnm
06-04-2006, 13:23
¿y no sería más facil usar Allegro o SDL? Ambas librerías están tanto para Windows como para Linux (y para muchos más) y son bastante sencillas de utilizar.