Drawing Using Turbo Cpp برمجة الرسم بلغة سي باستخدام ++Turbo C

download Drawing Using Turbo Cpp  برمجة الرسم بلغة سي باستخدام ++Turbo C

of 37

Transcript of Drawing Using Turbo Cpp برمجة الرسم بلغة سي باستخدام ++Turbo C

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    1/37

    1 :10/12/2006

    TURBO C++

    : [email protected]

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    2/37

    2

    4

    7/#include

    11/

    19/

    22/24/-

    28/

    32/

    34/

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    3/37

    3

    :

    ) .(-

    : .

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    4/37

    4

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    5/37

    5 TURBO C++

    OptionsLinkerLibraries

    Graphics library ok

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    6/37

    6

    :

    470 )640)pixel .1)pixel( =480640

    2. )pixel( .((picture cell

    3. .

    4. )X( . 5. )Y( .

    : VGA

    .

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    7/37

    7

    /

    #include

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    8/37

    8

    :

    .:

    c:\\tc\\bgi++ TURBO C

    .

    #include#include#includevoid main(){int gdriver = DETECT, gmode, errorcode;

    initgraph(&gdriver, &gmode, "c:\\tc\\bgi");

    ...

    ) (...

    getch();

    }

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    9/37

    9.83graphics.h ( )

    35

    arc imagesizebar initgraphbar3d installuserdrivercircle installuserfont

    cleardevice lineclearviewport linerelclosegraph linetodetectgraph movereldrawpoly movetoellipse outtextfillellipse outtextxyfillpoly pieslicefloodfill putimage

    getarccoords putpixelgetaspectratio rectanglegetbkcolor registerbgidrivergetcolor registerfarbgidrivergetdefaultpalette registerbgifontgetdrivername registerfarbgifontgetfillpattern restorecrtmodegetfillsettings sectorgetgraphmode setactivepagegetimage setallpalettegetlinesettings setaspectratiogetmaxcolor setbkcolorgetmaxmode setcolorgetmaxx setfillpatterngetmaxy setfillstylegetmodename setgraphbufsizegetmoderange setgraphmode

    getpalette setlinestylegetpalettesize setpalettegetpixel setrgbpalettegettextsettings settextjustifygetviewsettings settextstylegetx setusercharsizegety setviewportgraphdefaults setvisualpagegrapherrormsg setwritemode _graphfreemem textheight _graphgetmem textwidthgraphresult

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    10/37

    10

    /closegraph

    .

    Closegraph();

    initgraph(&gdriver, &gmode, "c:\\tc\\bgi"); .

    /cleardevice

    :

    cleardevice ();

    clrscr(); :) clrscr(); .(

    getmaxx/

    640.: )640( m):.(

    m=getmaxx();

    /getmaxy

    470.: )470( m):.(

    m=getmaxy();

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    11/37

    11

    /

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    12/37

    12 /line

    4: (x1,y1).((x2,y2

    : .Line(x1,y1,x2,y2);

    #include#include#includevoid main(){int x1=50 ,y1=20;int x2=200,y2=100;int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");line(x1,y1,x2,y2);getch();

    }

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    13/37

    13/circle

    3 : (x,y) r.

    : x,y,z .

    circle(x,y,r);

    #include#include#includevoid main(){int x=150,y=80,r=10;int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");circle(x,y,r);getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    14/37

    14 /putpixel

    3 : (x1,y1) h

    015.

    ) ).

    : ) ( .

    Putpixel(x,y,h);

    #include#include#includevoid main(){Int x=45,y=60,h=15;int gdriver = DETECT, gmode, errorcode;

    initgraph(&gdriver, &gmode, "c:\\tc\\bgi");putpixel(x,y,h);getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    15/37

    15 /arc

    (midx, midy)=

    Stangle= (1) Endangle= (2)

    Radius= arc(midx, midy, stangle, endangle, radius);

    #include#include#include

    void main(){int midx=320, midy=240, stangle = 45;int endangle = 135, radius = 100;

    int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");arc(midx, midy, stangle, endangle, radius);getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    16/37

    16 /ellipse

    (midx, midy)=

    Stangle= (1) Endangle= (2)

    Xradius= x Yradius= y

    Ellipse(midx, midy, stangle, endangle, xradius, yradius);

    #include#include

    #includevoid main(){

    int midx=320, midy=240, stangle = 45;int endangle = 135, radius = 100;

    int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");ellipse (midx, midy, stangle, endangle,xradius,yradius);getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    17/37

    17 /rectangle

    =(A,B)

    =(W,Z)rectangle(A,B,W,Z);

    #include#include#includevoid main(){

    Int a=10,b=20,w=150,z=200;int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");rectangle(a,b,w,z);getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    18/37

    18 /drawpoly

    p[n]n .

    Drawpoly(n,p);

    #include#include#includevoid main(){

    Int p[3];int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");P[0]=10;p[1]=15;P[2]=100;p[3]=200;P[4]=200;p[5]=250;fillpoly(3,p);getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    19/37

    19

    /

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    20/37

    20 /setlinestyle

    :a 14 .b 012 .c 1 3.

    Setlinestyle(a,b,c);

    : ) () ( .

    /Setcolor

    setcolor :

    ;)15(setcolor

    012345

    67891011

    12131415

    : ) () ( .

    /setbkcolor

    setbkcolor :

    ;)4(setbkcolor

    : ) () ( .

    /getbkcolor

    .: )0( m):.(

    m=getbkcolor();

    /getcolor

    .: )5( m):.(

    m=getcolor();

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    21/37

    21 /floodfill

    (G,F)

    .

    floodfill(G,F,getmaxcolor());

    : ) () (. :

    .... .

    /getmaxcolor

    : ).m):)15(

    m=getmaxcolor();

    . : rectangle(A,B,W,Z);

    =(A,B) =(W,Z)

    floodfill(G,F,getmaxcolor()); =(G,F)

    #include#include#includevoid main(){

    Int a=100,b=200,w=100,z=300,G=150,F=200;int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");

    rectangle(a,b,w,z);setcolor(14);floodfill(G,F,getmaxcolor());getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    22/37

    22

    /

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    23/37

    23

    .

    /moveto

    (x,y)

    moveto(x,y);

    /moveto

    ) dx dy( .

    moverel(dx,dy);

    /getx

    .: =100 )100( m):.(

    m=getx();

    /gety .

    : =100 )100( m):.(

    m=gety();

    /lineto

    (x,y) .

    lineto(x,y);

    /linerel

    ) dx dy(

    .

    linerel(dx,dy);

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    24/37

    24

    /

    THIS IS MY TESTTHIS IS MY TESTTHIS IS MY TESTTHIS IS MY TEST

    Enter start

    WritWritWritWriteeee yoyoyoyour nameur nameur nameur name

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    25/37

    25 /outtext

    : .

    (x,y).

    : (0,0) .: .

    ;")++c("uttextxyo

    #include

    #include#includevoid main(){int x=45,y=60,h=15;int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");outtextxy("c++");getch();

    }

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    26/37

    26 /outtextxy

    2 : (x,y).

    : .: .

    ;")++c",y,x(uttextxyo

    #include#include

    #includevoid main(){int x=45,y=60,h=15;int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");outtextxy(x,y,"c++");getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    27/37

    27 /settextstyle

    3 :

    A ) 111(B )0 1 (

    " : "C ) 110(

    settextstyle(A,B,C);

    :) ().(

    /sprintf

    outtext

    sprintf(msg,"%d %d",a,b);

    a .b .

    msg char#include#include

    #includevoid main(){char msg[10];int a=12,b=10;int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");sprintf(msg,"%d %d",a,b);

    outtextxy(x,y,msg);getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    28/37

    28

    /

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    29/37

    29 /fillellipse

    .

    (midx, midy)= Xradius= x Yradius= y

    : .

    Fillellipse(midx, midy, xradius, yradius);

    #include

    #include#includevoid main(){

    int midx=320, midy=240, stangle = 45;int endangle = 135, radius = 100;

    int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");fillellipse (midx, midy, xradius,yradius);getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    30/37

    30 /bar

    (=(A,B =(W,Z)

    bar(A,B,W,Z);

    #include#include#includevoid main(){

    Int a=10,b=20,w=150,z=200;int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");bar(a,b,w,z);getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    31/37

    31 /fillpoly

    .

    p[n]n .Fillpoly(n,p);

    #include#include#includevoid main()

    {Int p[3];int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");P[0]=10;p[1]=15;P[2]=100;p[3]=200;P[4]=200;p[5]=250;fillpoly(3,p);getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    32/37

    32

    /

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    33/37

    33 /setfillstyle

    .

    : K 012 C 015

    setfillstyle(k,c);

    : ) () ( .

    #include#include#includevoid main(){

    Int a=10,b=20,w=150,z=200;int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");setfillstyle(1,15);

    bar(a,b,w,z);getch();}

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    34/37

    34

    /

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    35/37

    35

    (x1,y)(x2,y).1. (x1,y) h2. ;)001(delay

    10ms) =1000ms( .3. )0(4. x=x+1;5. .

    #include#include#include#include

    ;)001(delay

    void main(){int x=45,y=60,h=3;int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");for(int i=0;i

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    36/37

    36

    (x1,y)(x2,y).1. (x1,y) h2. ;)001(delay

    10ms) =1000ms( .3. /cleardevice ();4. x=x+15. .

    #include#include#include#include

    ;)001(delay

    void main(){int x=45,y=60,h=3;int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver, &gmode, "c:\\tc\\bgi");for(int i=0;i

  • 8/14/2019 Drawing Using Turbo Cpp ++Turbo C

    37/37

    37 ) (

    x=x+1;

    #include #include #include #include #include void draw_arrow(int x, int y);int main(void){

    int gdriver = DETECT, gmode, errorcodevoid *arrowint x, y, E=10, i=0unsigned int sizeinitgraph(&gdriver, &gmode, "c:\\tc\\bgi");x = 45y = 60draw_arrow(x, y);size = imagesize(x-E, y- E, x+ E, y+ E);arrow = malloc(size);getimage(x-E, y- E, x+ E, y+ E, arrow);while (!kbhit())

    {putimage(x-E, y- E, arrow, XOR_PUT);x += 1if (i>100) x = 45putimage(x-E, y- E, arrow, XOR_PUT);delay(100);i+=1;}free(arrow);closegraph();return 0}void draw_arrow(int x, int y){