Ñòóäîïåäèÿ

Ãëàâíàÿ ñòðàíèöà Ñëó÷àéíàÿ ñòðàíèöà

ÊÀÒÅÃÎÐÈÈ:

ÀâòîìîáèëèÀñòðîíîìèÿÁèîëîãèÿÃåîãðàôèÿÄîì è ñàäÄðóãèå ÿçûêèÄðóãîåÈíôîðìàòèêàÈñòîðèÿÊóëüòóðàËèòåðàòóðàËîãèêàÌàòåìàòèêàÌåäèöèíàÌåòàëëóðãèÿÌåõàíèêàÎáðàçîâàíèåÎõðàíà òðóäàÏåäàãîãèêàÏîëèòèêàÏðàâîÏñèõîëîãèÿÐåëèãèÿÐèòîðèêàÑîöèîëîãèÿÑïîðòÑòðîèòåëüñòâîÒåõíîëîãèÿÒóðèçìÔèçèêàÔèëîñîôèÿÔèíàíñûÕèìèÿ×åð÷åíèåÝêîëîãèÿÝêîíîìèêàÝëåêòðîíèêà






B¶ng c¸c gi¸ trÞ kh¶ dÜ cña mÉu






Tª n h»ng Gi¸ trÞ sè KiÓ u mÉ u t«
EMPTY_FILL   T«b»ng mÇ u nÒ n
SOLID_FILL   T«b»ng ®­ê ng liÒ n nÐ t
LINE_FILL   T«b»ng ®­ê ng --------
LTSLASH_FILL   T«b»ng ///
SLASH_FILL   T«b»ng /// in ®Ë m
BKSLASH_FILL   T«b»ng \\\ in ®Ë m
LTBKSLASH_FILL   T«b»ng \\\
HATCH_FILL   T«b»ng ®­ê ng g¹ ch bã ng nh¹ t
XHATCH_FILL   T«b»ng ®­ê ng g¹ ch bã ng ch÷ thË p
INTERLEAVE_FILL   T«b»ng ®­ê ng ®ø t qu·ng
WIDE_DOT_FILL   T«b»ng dÊ u chÊ m th­a
CLOSE_DOT_FILL   T«b»ng dÊ u chÊ m mau
     

 

Chä n gi¶i mµu:

§Ó thay ®æ i gi¶i mµu ®· ®­î c ®Þ nh nghÜ a trong b¶ng trª n, ta sö dô ng hµm:

void setpalete(int sè _thø _tù _mµu, int mµu);

VÝ dô:

C©u lÖ nh:

setpalete(0, lightcyan);

biÕ n mµu ®Ç u tiª n trong b¶ng mµu thµnh mµu xanh l nh¹ t. C¸ c mµu kh¸ c kh«ng bÞ ¶nh h­ë ng.

· LÊ y gi¶i mµu hiÖ n thê i:

+ Hµm getcolor tr¶ vÒ mÇ u ®· x¸ c ®Þ nh b»ng thñ tô c setcolor ngay tr­í c nã.

+ Hµm getbkcolor tr¶ vÒ mÇ u ®· x¸ c ®Þ nh b»ng hµm setbkcolor ngay tr­í c nã.

10.2.2. VÏ vµ t«mµu:

Cã thÓ chia c¸ c ®­ê ng vµ h× nh thµnh bè n nhã m chÝ nh:

· Cung trß n vµ h× nh trß n.

· §­ê ng gÊ p khó c vµ ®a gi¸ c.

· §­ê ng th¼ ng.

· H× nh ch÷ nhË t.

10.2.2.1. Cung trß n vµ ®­ê ng trß n:

Nhã m nµy bao gå m: Cung trß n, ®­ê ng trß n, cung elip vµ h× nh qu¹ t.

 

· Cung trß n:

§Ó vÏ mé t cung trß n ta dï ng hµm:

void arc(int x, int y, int gd, int gc, int r);

Trong ®ã:

(x, y) lµ to¹ ®é t©m cung trß n.

gd lµ gã c ®Ç u cung trß n(0 ®Õ n 360 ®é).

gc lµ gã c cuè i cung trß n (gd ®Õ n 360 ®é).

r lµ b¸ n kÝ nh cung trß n.

VÝ dô:

VÏ mé t cung trß n cã t©m t¹ i (100, 50), gã c ®Ç u lµ 0, gã c cuè i lµ 180, b¸ n kÝ nh 30.

arc(100, 50, 0, 180, 30);

· §­ê ng trß n:

§Ó vÏ ®­ê ng trß n ta dï ng hµm:

void circle(int x, int y, int r);

Trong ®ã:

(x, y) lµ to¹ ®é t©m cung trß n.

r lµ b¸ n kÝ nh ®­ê ng trß n.

VÝ dô:

VÏ mé t ®­ê ng trß n cã t©m t¹ i (100, 50) vµ b¸ n kÝ nh 30.

circle(100, 50, 30);

· Cung elip

§Ó vÏ mé t cung elip ta dï ng hµm:

void ellipse(int x, int y, int gd, int gc, int xr, int yr);

Trong ®ã:

(x, y) lµ to¹ ®é t©m cung elip.

gd lµ gã c ®Ç u cung trß n(0 ®Õ n 360 ®é).

gc lµ gã c cuè i cung trß n (gd ®Õ n 360 ®é).

xr lµ b¸ n trô c n»m ngang.

yr lµ b¸ n trô c th¼ ng ®ø ng.

VÝ dô:

VÏ mé t cung elip cã t©m t¹ i (100, 50), gã c ®Ç u lµ 0, gã c cuè i lµ 180, b¸ n trô c ngang 30, b¸ n trô c ®ø ng lµ 20.

ellipse(100, 50, 0, 180, 30, 20);

 

· H× nh qu¹ t:

§Ó vÏ vµ t«mµu mé t h× nh qu¹ t ta dï ng hµm:

void pieslice(int x, int y, int gd, int gc, int r);

Trong ®ã:

(x, y) lµ to¹ ®é t©m h× nh qu¹ t.

gd lµ gã c ®Ç u h× nh qu¹ t (0 ®Õ n 360 ®é).

gc lµ gã c cuè i h× nh qu¹ t (gd ®Õ n 360 ®é).

r lµ b¸ n kÝ nh h× nh qu¹ t.

VÝ dô:

Ch­ng tr× nh d­í i ®©y sÏ vÏ mé t cung trß n ë gã c phÇ n t­ thø nhÊ t, mé t cung elip ë gã c phÇ n t­ thø ba, mé t ®­ê ng trß n vµ mé t h× nh qu¹ t quÐ t tõ 90 ®Õ n 360 ®é.

# include " graphics.h"

#include " stdio.h"

#include " conio.h"

main()

{

int md=0, mode;

initgraph(& md, & mode, " C: \\TC\\BGI");

setbkcolor(BLUE);

setcolor(YELLOW);

setfillstyle(SOLID_FILL, RED);;

arc(160, 50, 0, 90, 45);

circle(160, 150, 45);

pieslice(480, 150, 90, 360, 45);

getch();

closegraph();

}

10.2.3. VÏ ®­ê ng gÊ p khó c vµ ®a gi¸ c:

· VÏ ®­ê ng gÊ p khó c:

Muè n vÏ ®­ê ng gÊ p khó c ®i qua n ®iÓ m: (x1, y1), (x2, y2),...., (xn, yn) th× tr­í c hÕ t ta ph¶i g¸ n c¸ c to¹ ®é (xi, yi) cho mé t m¶ng a kiÓ u int nµo ®ã theo nguyª n t¾ c sau:

To¹ ®é x1 g¸ n cho a[0]

To¹ ®é y1 g¸ n cho a[1]

To¹ ®é x2 g¸ n cho a[2]

To¹ ®é y2 g¸ n cho a[3]

....

To¹ ®é xn g¸ n cho a[2n-2]

To¹ ®é yn g¸ n cho a[2n-1]

Sau ®ã gä i hµm:

drawpoly(n, a);

NÕ u ®iÓ m cuè i cï ng (xn, yn) trï ng ví i ®iÓ m ®Ç u (x1, y1) th× ta nhË n ®­î c mé t ®­ê ng gÊ p khó c khÐ p kÝ n.

 

· T«mµu ®a gi¸ c:

Gi¶ sö ta cã a lµ m¶ng ®· ®Ò cË p ®Õ n trong mô c trª n, khi ®ã ta gä i hµm:

fillpoly(n, a);

sÏ vÏ vµ t«mµu mé t ®a gi¸ c cã ®Ø nh lµ c¸ c ®iÓ m (x1, y1), (x2, y2),...., (xn, yn)

 

VÝ dô:

VÏ mé t ®­ê ng gÊ p khó c vµ hai ®­ê ng tam gi¸ c.

#include " graphics.h"

#include " stdio.h"

#include " conio.h"

int poly1[]={5, 200, 190, 5, 100, 300};

int poly2[]={205, 200, 390, 5, 300, 300};

int poly3[]={405, 200, 590, 5, 500, 300, 405, 200};

main()

{

int md=0, mode;

initgraph(& md, & mode, " C: \\TC\\BGI");

setbkcolor(CYAN);

setcolor(YELLOW);

setfillstyle(SOLID_FILL, MAGENTA);

drawpoly(3, poly1);

fillpoly(3, poly2);

fillpoly(4, poly3);

getch();

closegraph();

}

· VÏ ®­ê ng th¼ ng:

§Ó vÏ ®­ê ng th¼ ng nè i hai ®iÓ m bÊ t kú cã to¹ ®é (x1, y1) vµ (x2, y2) ta sö dô ng hµm sau:

void line(int x1, int y1, int x2, int y2);

Con ch¹ y ®å ho¹ gi÷ nguyª n vÞ trÝ.

§Ó vÏ ®­ê ng th¼ ng nè i tõ ®iÓ m con ch¹ y ®å ho¹ ®Õ n mé t ®iÓ m bÊ t cã to¹ ®é (x, y) ta sö dô ng hµm sau:

void lineto(int x, int y);

Con ch¹ y sÏ chuyÓ n ®Õ n vÞ trÝ (x, y).

§Ó vÏ mé t ®­ê ng th¼ ng tõ vÝ trÝ con ch¹ y hiÖ n t¹ i (gi¶ sö lµ ®iÓ m x, y) ®Õ n ®iÓ m cã to¹ ®é (x+dx, y+dy) ta sö dô ng hµm sau:

void linerel(int dx, int dy);

Con ch¹ y sÏ chuyÓ n ®Õ n vÞ trÝ (x+dx, y+dy).

· Di chuyÓ n con ch¹ y ®å ho¹:

§Ó di chuyÓ n con ch¹ y ®Õ n vÞ trÝ (x, y), ta sö dô ng hµm sau:

void moveto(int x, int y);

 

· Chä n kiÓ u ®­ê ng:

Hµm void setlinestyle(int kiÓ u_®­ê ng, int mÉ u, int ®é _dµy);

t¸ c ®é ng ®Õ n nÐ t vÏ cñ a c¸ c thñ tô c vÏ ®­ê ng line, lineto, linerel, circle, rectangle (hµm vÏ h× nh ch÷ nhË t, ta sÏ hä c trong phÇ n vÏ miÒ n ë d­í i).

Hµm nµy sÏ cho phÐ p ta x¸ c ®Þ nh ba yÕ u tè khi vÏ ®­ê ng th¼ ng, ®ã lµ: KiÓ u ®­ê ng, bÒ dµy vµ mÉ u tù t¹ o.

D¹ ng ®­ê ng do tham sè kiÓ u_®­ê ng x¸ c ®Þ nh. B¶ng d­í i ®©y cho c¸ c gi¸ trÞ kh¶ dÜ cñ a kiÓ u_®­ê ng:

 

Tª n h»ng Gi¸ trÞ sè KiÓ u ®­ê ng
SOLID_LINE   NÐ t liÒ n
DOTTED_LINE   NÐ t chÊ m
CENTER_LINE   NÐ t chÊ m g¹ ch
DASHED_LINE   NÐ t g¹ ch
USERBIT_LINE   MÉ u tù t¹ o

BÒ dµy cñ a ®­ê ng vÏ do tham sè ®é _dµy x¸ c ®Þ nh,. b¶ng d­í i ®©y cho c¸ c gi¸ trÞ kh¶ dÜ cñ a ®é _dµy:

Tª n h»ng Gi¸ trÞ sè BÒ dµy
NORM_WIDTH   BÒ dµy b× nh th­ê ng
THICK_WIDTH   BÒ dµy gÊ p ba

MÉ u tù t¹ o: NÕ u tham sè thø nhÊ t lµ USERBIT_LINE th× ta cã thÓ t¹ o ra mÉ u ®­ê ng th¼ ng b»ng tham sè mÉ u. VÝ dô ta xÐ t ®o¹ n ch­ng tr× nh:

int pattern = 0x1010;

setlinestile(USERBIT_LINE, pattern, NORM_WIDTH);

line(0, 0, 100, 200);

Gi¸ trÞ cñ a pattern trong hÖ 16 lµ 1010, trong hÖ 2 lµ:

0001 0000 0001 0000

Bit 1 sÏ cho ®iÓ m s¸ ng, bit 0 sÏ lµm t¾ t ®iÓ m ¶nh.

VÝ dô:

Ch­ng tr× nh vÏ mé t ®­ê ng gÊ p khó c b»ng c¸ c ®o¹ n th¼ ng. §­ê ng gÊ p khó c ®i qua c¸ c ®Ø nh sau:

(20, 20), (620, 20), (620, 180), (20, 180) vµ (320, 100)

#include " graphics.h"

#include " stdio.h"

#include " conio.h"

main()

{

int mh=0, mode;

initgraph(& mh, & mode, " C: \\TC\\BGI");

setbkcolor(BLUE);

setcolor(YELLOW);

setlinestyle(Solid-line, 0, THICK_WIDTH);

moveto(320, 100); /* con ch¹ y ë vÞ trÝ (320, 100) */

line(20, 20, 620, 20); /* con ch¹ y vÉ n ë vÞ trÝ (320, 100) */

linerel(-300, 80);

lineto(620, 180);

lineto(620, 20);

getch();

closegraph();

}

10.2.4. VÏ ®iÓ m, miÒ n:

· VÏ ®iÓ m:

Hµm:

void putpixel(int x, int y, int color);

sÏ t«®iÓ m (x, y) theo mÇ u x¸ c ®Þ nh bë i color.

 

Hµm:

unsigned getpixel(int x, int y);

sÏ tr¶ vÒ sè hiÖ u mÇ u cñ a ®iÓ m ¶nh ë vÞ trÝ (x, y).

Chó ý:

NÕ u ®iÓ m nµy ch­a ®­î c t«mµu bë i c¸ c hµm vÏ hoÆ c hµm putpixel (mµ chØ mí i ®­î c t¹ o mµu nÒ n bë i setbkcolor) th× hµm cho gi¸ trÞ 0.

 

· T«miÒ n:

§Ó t«mµu cho mé t miÒ n nµo ®ã trª n mµn h× nh, ta dï ng hµm sau:

void floodfill(int x, int y, int border);

ë ®©y:

(x, y) lµ to¹ ®é cñ a mé t ®iÓ m nµo ®ã gä i lµ ®iÓ m gieo.

Tham sè border chø a m· cñ a mµu.

Sù ho¹ t ®é ng cñ a hµm floodfill phô thué c vµo gi¸ trÞ cñ a x, y, border vµ tr¹ ng th¸ i mµn h× nh.

+ Khi trª n mµn h× nh cã mé t ®­ê ng cong khÐ p kÝ n hoÆ c ®­ê ng gÊ p khó c khÐ p kÝ n mµ m· mµu cñ a nã b»ng gi¸ trÞ cñ a border th×:

- NÕ u ®iÓ m gieo (x, y) n»m trong miÒ n nµy th× miÒ n gií i h¹ n phÝ a trong ®­ê ng sÏ ®­î c t«mµu.

- NÕ u ®iÓ m gieo (x, y) n»m ngoµi miÒ n nµy th× miÒ n phÝ a ngoµi ®­ê ng sÏ ®­î c t«mµu.

+ Trong tr­ê ng hî p khi trª n mµn h× nh kh«ng cã ®­ê ng cong nµo nh­ trª n th× c¶ mµn h× nh sÏ ®­î c t«mµu.

 

VÝ dô:

VÏ mé t ®­ê ng trß n mµu ®á trª n mµn h× nh mµu xanh. To¹ ®é (x, y) cñ a ®iÓ m gieo ®­î c n¹ p tõ bµn phÝ m. Tuú thué c gi¸ trÞ cô thÓ cñ a x, y ch­ng tr× nh sÏ t«mµu vµng cho h× nh trß n hoÆ c phÇ n mµn h× nh bª n ngoµi h× nh trß n.

#include " graphics.h"

#include " stdio.h"

main()

{

int mh=mode=0, x, y;

printf(" \nVao toa do x, y: ");

scanf(" %d%d", & x, & y);

initgraph(& mh, & mode, " ");

if (graphresult! = grOk) exit(1);

setbkcolor(BLUE);

setcolor(RED);

setfillstyle(11, YELLOW);

circle(320, 100, 50);

moveto(1, 150);

floodfill(x, y, RED);

closegraph();

}

 

10.2.5. H× nh ch÷ nhË t:

· Hµm:

void rectangle(int x1, int y1, int x2, int y2);

sÏ vÏ mé t h× nh ch÷ nhË t cã c¸ c c¹ nh song song ví i c¸ c c¹ nh cñ a mµn h× nh. To¹ ®é ®Ø nh tr¸ i trª n cñ a h× nh ch÷ nhË t lµ (x1, y1) vµ to¹ ®é ®Ø nh ph¶i d­í i cñ a hµnh ch÷ nhË t lµ (x2, y2).

 

· Hµm:

void bar(int x1, int y1, int x2, int y2);

sÏ vÏ vµ t«mµu mé t h× nh ch÷ nhË t. To¹ ®é ®Ø nh tr¸ i trª n cñ a h× nh ch÷ nhË t lµ (x1, y1) vµ to¹ ®é ®Ø nh ph¶i d­í i cñ a hµnh ch÷ nhË t lµ (x2, y2).

 

· Hµm:

void bar3d(int x1, int y1, int x2, int y2, int depth, int top);

sÏ vÏ mé t khè i hé p ch÷ nhË t, mÆ t ngoµi cñ a nã lµ h× nh ch÷ nhË t x¸ c ®Þ nh bë i c¸ c to¹ ®é (x1, y1), (x2, y2). H× nh ch÷ nhË t nµy ®­î c t«mµu th«ng qua hµm setfillstyle. Tham sè depth x¸ c ®Þ nh sè ®iÓ m ¶nh trª n bÒ s©u cñ a khè i 3 chiÒ u. Tham sè top cã thÓ nhË n c¸ c gi¸ trÞ 1 hay 0 vµ khè i 3 chiÒ u t­ng ø ng sÏ cã n¾ p hoÆ c kh«ng.

       
   
 
 
top=1 top=0


VÝ dô:

Ch­ng tr× nh d­í i ®©y t¹ o nª n mé t h× nh ch÷ nhË t, mé t khè i h× nh ch÷ nhË t vµ mé t h× nh hé p cã n¾ p:

#include " graphics.h"

main()

{

int mh=mode=0;

initgraph(& mh, & mode, " ");

if (graphresult! = grOk) exit(1);

setbkcolor(GREEN);

setcolor(RED);

setfillstyle(CLOSE_DOT_FILL, YELLOW);

rectangle(5, 5, 300, 160);

bar(3, 175, 300, 340);

bar3d(320, 100, 500, 340, 100, 1);

closegraph();

}

10.2.6. Cö a sæ (Viewport):

· ThiÕ t lË p viewport:

Viewport lµ mé t vï ng ch÷ nhË t trª n mµn h× nh ®å ho¹. §Ó thiÕ t lË p viewport ta dï ng hµm:

void setviewport(int x1, int y1, int x2, int y2, int clip);

trong ®ã (x1, y1) lµ to¹ ®é gã c trª n bª n tr¸ i, (x2, y2) lµ to¹ ®é gã c d­í i bª n ph¶i. Bè n gi¸ trÞ nµy v× thÕ ph¶i tho¶ m·n:

0 £ x1 £ x2

0 £ y1 £ y2

Tham sè clip cã thÓ nhË n mé t trong hai gi¸ trÞ:

clip=1 kh«ng cho phÐ p vÏ ra ngoµi viewport.

clip=0 cho phÐ p vÏ ra ngoµi viewport.

VÝ dô:

setviewport(100, 50, 200, 150, 1);

LË p nª n mé t vï ng viewport h× nh ch÷ nhË t cã to¹ ®é gã c tr¸ i cao lµ (100, 50) vµ to¹ ®é gã c ph¶i thÊ p lµ (200, 150) (lµ to¹ ®é tr­í c khi ®Æ t viewport).

Chó ý:

Sau khi lË p viewport, ta cã hÖ to¹ ®é mí i mµ gã c trª n bª n tr¸ i sÏ cã to¹ ®é (0, 0).

· NhË n diÖ n viewport hiÖ n hµnh:

§Ó nhË n viewport hiÖ n thê i ta dï ng hµm:

void getviewsetting(struct viewporttype *vp);

ë ®©y kiÓ u viewporttype ®· ®­î c ®Þ nh nghÜ a nh­ sau:

struct viewporttype

{

int left, top, right, bottom;

int clip;

};

· Xã a viewport:

Sö dô ng hµm:

void clearviewport(void);

 

· Xo¸ mµn h× nh, ®­a con ch¹ y vÒ t¹ o ®é (0, 0) cñ a mµn h× nh:

Sö dô ng hµm:

void cleardevice(void);

· To¹ ®é ©m d­ng:

Nhê sö dô ng viewport cã thÓ viÕ t c¸ c ch­ng tr× nh ®å ho¹ theo to¹ ®é ©m d­ng. Muè n vË y ta thiÕ t lË p viewport vµ cho clip b»ng 0 ®Ó cã thÓ vÏ ra ngoµi gií i h¹ n cñ a viewport.

Sau ®©y lµ ®o¹ n ch­ng tr× nh thù c hiÖ n c«ng viÖ c trª n:

int xc, yc;

xc=getmaxx()/2;

yc=getmaxy()/2;

setviewport(xc, yc, getmaxx(), getmaxy(), 0);

Nh­ thÕ, mµn h× nh sÏ ®­î c chia lµm bè n phÇ n ví i to¹ ®é ©m d­ng nh­ sau:

PhÇ n t­ tr¸ i trª n: x ©m, y ©m.

x: tõ -getmaxx()/2 ®Õ n 0.

y: tõ -getmaxy()/2 ®Õ n 0.

PhÇ n t­ tr¸ i d­í i: x ©m, y d­ng.

x: tõ -getmaxx()/2 ®Õ n 0.

y: tõ 0 ®Õ n getmaxy()/2.

PhÇ n t­ ph¶i trª n: x d­ng, y ©m.

x: tõ 0 ®Õ n getmaxx()/2.

y: tõ -getmaxy()/2 ®Õ n 0.

PhÇ n t­ ph¶i d­í i: x d­ng, y d­ng.

x: tõ 0 ®Õ n getmaxx()/2.

y: tõ 0 ®Õ n getmaxy()/2.

 

VÝ dô:

Ch­ng tr× nh vÏ ®å thÞ hµm sin x trong hÖ trô c to¹ ®é ©m d­ng. Hoµnh ®é x lÊ y c¸ c gi¸ trÞ tõ -4p ®Õ n 4p. Trong ch­ng tr× nh cã sö dô ng hai hµm mí i lµ settextjustify vµ outtextxy ta sÏ ®Ò cË p ngay trong phÇ n sau.

#include " graphics.h"

#include " conio.h"

#include " math.h"

#define TYLEX 20

#define TYLEY 60

main()

{

int mh=mode=DETECT;

int x, y, i;

initgraph(mh, mode, " ");

if (graphresult! =grOK) exit(1);

setviewport(getmaxx()/2, getmaxy()/2, getmaxx(), getmaxy(), 0);

setbkcolor(BLUE);

setcolor(YELLOW);

line(-getmaxx()/2, 0, getmaxx()/2, 0);

line(0, -getmaxy()/2, 0, getmaxy()/2, 0);

settextjustify(1, 1);

setcolor(WHITE);

outtextxy(0, 0, " (0, 0)");

for (i=-400; i< =400; ++i)

{

x=floor(2*M_PI*i*TYLEX/200);

y=floor(sin(2*M_PI*i/200)*TYLEY);

putpixel(x, y, WHITE);

}

getch();

closegraph();

}

10.3. Xö lý v¨ n b¶n trª n mµn h× nh ®å ho¹:

· HiÓ n thÞ v¨ n b¶n trª n mµn h× nh ®å ho¹:

Hµm:

void outtext(char *s);

 

cho hiÖ n chuç i ký tù (do con trá s trá tí i) t¹ i vÞ trÝ con trá ®å ho¹ hiÖ n thê i.

Hµm:

void outtextxy(int x, int y, char *s);

 

cho hiÖ n chuç i ký tù (do con trá s trá tí i) t¹ i vÞ trÝ (x, y).

 

VÝ dô:

Hai c¸ ch viÕ t d­í i ®©y:

outtextxy(50, 50, " Say HELLO");

moveto(50, 50);

outtext(" Say HELLO");

 

cho cï ng kÕ t qu¶.

 

· Sö dô ng c¸ c Fonts ch÷:

C¸ c Fonts ch÷ n»m trong c¸ c tË p tin *.CHR trª n ®Ü a. C¸ c Fonts nµy cho c¸ c kÝ ch th­í c vµ kiÓ u ch÷ kh¸ c nhau, chó ng sÏ ®­î c hiÓ n thÞ lª n mµn h× nh b»ng c¸ c hµm outtext vµ outtextxy. §Ó chä n vµ n¹ p Fonts ta dï ng hµm:

void settextstyle(int font, int direction, int charsize);

Tham sè font ®Ó chä n kiÓ u ch÷ vµ nhË n mé t trong c¸ c h»ng sau:

DEFAULT_FONT=0

TRIPLEX_FONT=1

SMALL_FONT=2

SANS_SERIF_FONT=3

GOTHIC_FONT=4

Tham sè derection ®Ó chä n h­í ng ch÷ vµ nhË n mé t trong c¸ c h»ng sau:

HORIZ_DIR=0 v¨ n b¶n hiÓ n thÞ theo h­í ng n»m ngang tõ tr¸ i qua ph¶i.

VERT_DIR=1 v¨ n b¶n hiÓ n thÞ theo h­í ng th¼ ng ®ø ng tõ d­í i lª n trª n.

Tham sè charsize lµ hÖ sè phã ng to cñ a ký tù vµ cã gi¸ trÞ trong kho¶ng tõ 1 ®Õ n 10.

Khi charsize=1, font hiÓ n thÞ trong h× nh ch÷ nhË t 8*8 pixel.

Khi charsize=2 font hiÓ n thÞ trong h× nh ch÷ nhË t 16*16 pixel.

............

Khi charsize=10, font hiÓ n thÞ trong h× nh ch÷ nhË t 80*80 pixel.

C¸ c gi¸ trÞ do settextstyle lË p ra sÏ gi÷ nguyª n tí i khi gä i mé t settextstyle mí i.

 

VÝ dô:

C ¸ c dß ng lÖ nh:

settextstyle(3, VERT_DIR, 2);

outtextxy(30, 30, " GODS TRUST YOU");

sÏ hiÓ n thÞ t¹ i vÞ trÝ (30, 30) dß ng ch÷ GODS TRUST YOU theo chiÒ u tõ d­í i lª n trª n, font ch÷ chä n lµ SANS_SERIF_FONT vµ cì ch÷ lµ 2.

 

· §¹ t vÞ trÝ hiÓ n thÞ cñ a c¸ c x©u ký tù cho bë i outtext vµ outtextxy:

Hµm settextjustify cho phÐ p chØ ®Þ nh ra ni hiÓ n thÞ v¨ n b¶n cñ a outtext theo quan hÖ ví i vÞ trÝ hiÖ n t¹ i cñ a con ch¹ y vµ cñ a outtextxy theo quan hÖ ví i to¹ ®é (x, y);

Hµm nµy cã d¹ ng sau:

void settextjustify(int horiz, int vert);

Tham sè horiz cã thÓ lµ mé t trong c¸ c h»ng sè sau:

LEFT_TEXT=0 (V¨ n b¶n xuÊ t hiÖ n bª n ph¶i con ch¹ y).

CENTER_TEXT (ChØ nh t©m v¨ n b¶n theo vÞ trÝ con ch¹ y).

RIGHT_TEXT (V¨ n b¶n xuÊ t hiÖ n bª n tr¸ i con ch¹ y).

Tham sè vert cã thÓ lµ mé t trong c¸ c h»ng sè sau:

BOTTOM_TEXT=0 (V¨ n b¶n xuÊ t hiÖ n phÝ a trª n con ch¹ y).

CENTER_TEXT=1 (ChØ nh t©m v¨ n b¶n theo vÞ trÝ con ch¹ y).

TOP_TEXT=2 (V¨ n b¶n xuÊ t hiÖ n phÝ a d­í i con ch¹ y).

VÝ dô:

settextjustify(1, 1);

outtextxy(100, 100, " ABC");

sÏ cho dß ng ch÷ ABC trong ®ã ®iÓ m (100, 100) sÏ n»m d­í i ch÷ B.

 

· BÒ ré ng vµ chiÒ u cao v¨ n b¶n:

ChiÒ u cao:

Hµm:

textheight(char *s);

cho chiÒ u cao (tÝ nh b»ng pixel) cñ a chuç i do con trá s trá tí i.

 

VÝ dô 1:

Ví i font bit map vµ hÖ sè phã ng ®¹ i lµ 1 th× textheight(" A") ch gi¸ trÞ lµ 8.

VÝ dô 2:

#include " stdio.h"

#include " graphics.h"

main()

{

int mh=mode=DETECT, y, size;

initgraph(mh, mode, " C: \\TC\\BGI");

y=10;

settextjustify(0, 0);

for (size=1; size< 5; ++size)

{

settextstyle(0, 0, size);

outtextxy(0, y, " SACRIFICE");

y+=textheight(" SACRIFICE")+10;

}

getch();

closegraph();

}

 

BÒ ré ng:

Hµm:

textwidth(char *s);

cho bÒ ré ng chuç i (tÝ nh theo pixel) mµ con trá s trá tí i dù a trª n chiÒ u dµi chuç i, kÝ ch th­í c font ch÷, hÖ sè phã ng ®¹ i.



Ïîäåëèòüñÿ ñ äðóçüÿìè:

mylektsii.su - Ìîè Ëåêöèè - 2015-2024 ãîä. (0.076 ñåê.)Âñå ìàòåðèàëû ïðåäñòàâëåííûå íà ñàéòå èñêëþ÷èòåëüíî ñ öåëüþ îçíàêîìëåíèÿ ÷èòàòåëÿìè è íå ïðåñëåäóþò êîììåð÷åñêèõ öåëåé èëè íàðóøåíèå àâòîðñêèõ ïðàâ Ïîæàëîâàòüñÿ íà ìàòåðèàë