• Domingo 15 de Diciembre de 2024, 09:33

Autor Tema:  Graficos  (Leído 1938 veces)

eruelas

  • Miembro activo
  • **
  • Mensajes: 69
  • Nacionalidad: mx
    • Ver Perfil
Graficos
« en: Viernes 12 de Diciembre de 2008, 04:25 »
0
Buenas noches ps keri preguntar si alguien me podia decir komo rellenar un dibujo en c o k tenga un ejemplo de un dibujo koloreado hice un dibujo pero aun no c komo rellenear de kolor y tambien kisiera saber si me pueden decir komo darle kolor a una line de antemano gracias :good:

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Graficos
« Respuesta #1 en: Viernes 12 de Diciembre de 2008, 06:12 »
0
¿Qué biblioteca usas para dibujar? Podrías colocar el código del dibujo que hiciste para entender mejor por dónde vas encaminado :).
La imaginación es el límite.
Hardware & Software | Mexchip

eruelas

  • Miembro activo
  • **
  • Mensajes: 69
  • Nacionalidad: mx
    • Ver Perfil
Re: Graficos
« Respuesta #2 en: Viernes 12 de Diciembre de 2008, 19:35 »
0
esto es lo k llevo de kodigo no te vallas a burlar soy nuevo en eso pero ps kiero darle un akabado mas chido jeje
Código: Text
  1. #include <graphics.h>
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <conio.h>
  5. int main(void)
  6. {
  7.    /* request auto detection */
  8.    int gdriver = DETECT, gmode, errorcode;
  9.    int midx, midy;
  10.    int radius;
  11.  
  12.    /* initialize graphics and local variables */
  13.    initgraph(&gdriver, &gmode, "c:\tc\bgi");
  14.  
  15.    /* read result of initialization */
  16.    errorcode = graphresult();
  17.    if (errorcode != grOk)  /* an error occurred */
  18.    {
  19.       printf("Graphics error: %sn", grapherrormsg(errorcode));
  20.       printf("Press any key to halt:");
  21.       getch();
  22.       exit(1); /* terminate with an error code */
  23.    }
  24.  
  25.    midx = getmaxx() / 2;
  26.    midy = getmaxy() / 2;
  27.    setcolor(getmaxcolor());
  28.  
  29.    /* draw the circle */
  30.    textbackground(GREEN);
  31.    circle(420,280,radius=10);
  32.    circle(420, 280, radius=35);
  33.  
  34.    circle(220,280,radius=10);
  35.    circle(220, 280, radius=35);
  36.  
  37.      int left = getmaxx() / 2 - 150;
  38. int top = getmaxy() / 2 - 80;
  39. int right = getmaxx() / 2 + 150;
  40. int bottom = getmaxy() / 2 + 40;
  41.  
  42. /* draw a rectangle */
  43. rectangle(left,top,right,bottom);
  44. rectangle(170,220,220,190);
  45.  line(375,278,375,160);
  46.  line(372,278,372,160);
  47.  
  48.  line(345,278,345,160);
  49.  line(342,278,342,160);
  50.  
  51.  line(345,242,372,242);
  52.  line(345,245,372,245);
  53.  
  54.  line(345,255,372,255);
  55.  line(345,258,372,258);
  56.  
  57.  line(345,268,372,268);
  58.  line(345,271,372,271);
  59.  
  60.  line(345,229,372,229);
  61.  line(345,232,372,232);
  62.  
  63.  line(345,216,372,216);
  64.  line(345,219,372,219);
  65.  
  66.  line(345,203,372,203);
  67.  line(345,206,372,206);
  68.  
  69.  line(345,190,372,190);
  70.  line(345,193,372,193);
  71.  
  72.  line(345,216,372,216);
  73.  line(345,219,372,219);
  74.  
  75.    /* clean up */
  76.    getch();
  77.    closegraph();
  78.    return 0;
  79. }
  80.  
  81.  
  82.  
lo k kiero es dibujar el camion luego pondre edificios etc etc etc pero ps kiero saber komo kolorear y/o poner el kontorno (lineas) de kolor se lo agradeceria mucho si me dijera el kodigo para eso por favor  ^_^

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Graficos
« Respuesta #3 en: Sábado 13 de Diciembre de 2008, 02:34 »
0
Primero comentar la opinión que algunos compañeros tienen con respecto al compilador que estás usando: es viejo y sus bibliotecas/librerías no son estándar.

Ahora, no quiere decir que no sirva, si tú puedes hacer lo que quieres con él está muy bien :). Sobre poner color, se hace con la función setcolor, para rellenar, en lugar de dibujar con líneas lo puedes hacer mediante polígonos con fillpoly, si no quieres rellenar usa drawpoly, estas y todas las funciones de la biblioteca graphics de Borland las puedes encontrar con ejemplos y documentación en esta página:

http://c.conclase.net/Borland/libreria.php?lib=graphics

Por último, sobre lo que apuntaba al principio, conviene que pronto pruebes otros compiladores, como VC++ si trabajas en Windows, donde lamentablemente no existen las librerías de Borland para gráficos (graphics), en su lugar tendrás que utilizar alguna otra, entre las cuales están GDI, OpenGL, Allegro, SDL, DirectX...

Suerte :).
La imaginación es el límite.
Hardware & Software | Mexchip

eruelas

  • Miembro activo
  • **
  • Mensajes: 69
  • Nacionalidad: mx
    • Ver Perfil
Re: Graficos
« Respuesta #4 en: Sábado 13 de Diciembre de 2008, 04:59 »
0
gracias si tengo una duda la komentare :good:

eruelas

  • Miembro activo
  • **
  • Mensajes: 69
  • Nacionalidad: mx
    • Ver Perfil
Re: Graficos
« Respuesta #5 en: Sábado 13 de Diciembre de 2008, 05:32 »
0
bueno kreo k no supe komo usar la funcion :S no se si me pudieras ayudar a rrellenar el camionsillo k hice o algo para fijarme komo hacerle por favor te dejo el kodigo de hasta donde voy
Código: Text
  1.  
  2. #include <graphics.h>
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5. #include <conio.h>
  6. int main(void)
  7. {
  8.    /* request auto detection */
  9.    int gdriver = DETECT, gmode, errorcode;
  10.    int midx, midy;
  11.    int radius;
  12.  
  13.    /* initialize graphics and local variables */
  14.    initgraph(&gdriver, &gmode, "c:\tc\bgi");
  15.  
  16.    /* read result of initialization */
  17.    errorcode = graphresult();
  18.    if (errorcode != grOk)  /* an error occurred */
  19.    {
  20.       printf("Graphics error: %sn", grapherrormsg(errorcode));
  21.       printf("Press any key to halt:");
  22.       getch();
  23.       exit(1); /* terminate with an error code */
  24.    }
  25.  
  26.    midx = getmaxx() / 2;
  27.    midy = getmaxy() / 2;
  28.    setcolor(getmaxcolor());
  29.      /* draw ellipse */
  30.  
  31. ellipse(172, 260, 240, 100,5, 10);//faro
  32. ellipse(212, 205, 197, 190,7, 10);//cabeza mono
  33.  
  34.    /* draw the circle */
  35.    textbackground(GREEN);
  36.    circle(420,280,radius=10);//centro llanta derecha
  37.     circle(177,215,radius=5); //volante
  38.     circle(177,215,radius=2);//claxon
  39.    circle(420, 280, radius=35);
  40.  
  41.    circle(220,280,radius=10);
  42.    circle(220, 280, radius=35);
  43.  
  44.  
  45. /* draw a rectangle */
  46.  
  47. rectangle(170,220,220,190);
  48.  line(375,282,375,159);//escalera linea 4
  49.  line(372,282,372,159);//escalera linea 3
  50.  putpixel(345,500,16);
  51.  line(345,282,345,159);//escalera linea 2
  52.  line(342,282,342,159);//escalera linea 1
  53.  
  54.  line(345,242,372,242);//escalon numero 6 abajo->arriba
  55.  line(345,245,372,245);//escalon numero 5
  56.  
  57.  line(345,255,372,255);//escalon numero 4
  58.  line(345,258,372,258);//escalon 3
  59.  
  60.  line(345,268,372,268);//escalon 2
  61.  line(345,271,372,271);//escalon 1
  62.  
  63.  line(345,229,372,229);//escalon 8
  64.  line(345,232,372,232);//escalon 7
  65.  
  66.  line(345,216,372,216);//escalon 10
  67.  line(345,219,372,219);//escalon 9
  68.  
  69.  line(345,203,372,203);//escalon12
  70.  line(345,206,372,206);//escalon 11
  71.  
  72.  line(345,190,372,190);//escalon 14
  73.  line(345,193,372,193);//escalon 13
  74.  
  75.  line(345,177,372,177);//escalon 16
  76.  line(345,180,372,180);//escalon 15
  77.  setbkcolor(0);
  78.  line(180,150,253,150);//techo corto1
  79.  line(170,158,250,158);//techo corto 2
  80.  line(480,150,469,158);//techo derecha
  81.  line(180,150,169,158);//techo izquierda
  82.  line(296,150,479,150);//techo largo 1
  83.  line(296,158,470,158);//techo largo 2
  84.  line(470,283,470,159);//opuesta 1
  85.  line(480,273,480,151);//opuesta 2
  86.  line(470,283,480,274);//techo inferior derecha
  87.  line(456,283,469,283);//linea inferior derecha ultima
  88.  line(256,283,384,283);//linea inferior centro
  89.  line(170,283,184,283);//linea inferior izquierda
  90.  line(170,283,170,159);//Linea vertical enfrente
  91.  line(207,212,183,214);//Mano mono
  92.  line(217,213,217,220);//Espalda mono
  93.  line(207,218,207,220);//pecho mono
  94.  line(0,380,800,380);//banketa inferior
  95.  line(0,258,169,258);//banketa superior iz
  96.  line(0,266,169,266);//banketa superior abajo iz
  97.  line(480,258,800,258);//banketa superior der
  98.  line(480,266,800,266);//banketa superior abajo der
  99.  line(0,228,169,228);//base edificio iz
  100.  line(480,228,800,228);//base edificio der
  101.  line(250,158,250,180);//linea 3d iz 2
  102.  line(296,158,296,180);//linea 3d der
  103.  line(253,151,249,158);//union de techos cortos
  104.  line(250,180,295,180);
  105.   arc(50, 50, 30, 20, radius=20);//Luna
  106.    circle(59,55,radius=2);
  107.    circle(42,44,radius=2);
  108.  
  109.    circle(54,40,radius=2);
  110.    /* clean up */
  111.    getch();
  112.    closegraph();
  113.    return 0;
  114. }
  115.  
  116.  
  117.  

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Graficos
« Respuesta #6 en: Domingo 14 de Diciembre de 2008, 19:11 »
0
¿No funcionan los colores?
Prueba usando varios valores de constantes: http://c.conclase.net/Borland/macro.php?mac=bcolores

Si no, prueba el código al final de esta página:
http://www.chuidiang.com/chuwiki/index. ... graphics.h

Suerte.
La imaginación es el límite.
Hardware & Software | Mexchip