真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c函數(shù)繪圖語(yǔ)言報(bào)告 c語(yǔ)言畫(huà)函數(shù)

如何用c語(yǔ)言畫(huà)圖,舉幾個(gè)最簡(jiǎn)單的例子

首先需要繪圖函數(shù)的頭文件在TC2.0中是graphics.h

創(chuàng)新互聯(lián)建站主營(yíng)貞豐網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,APP應(yīng)用開(kāi)發(fā),貞豐h5重慶小程序開(kāi)發(fā)搭建,貞豐網(wǎng)站營(yíng)銷(xiāo)推廣歡迎貞豐等地區(qū)企業(yè)咨詢

然后需要初始化圖形模式.

在利用繪圖函數(shù)

矩形:bar

圓形:circle

直線:line

等等。你可以到graphics.h文件中去看這些函數(shù)的參數(shù)

舉個(gè)例子

#include stdio.h

#include graphics.h

int main(void)

{

int gdriver; /*圖形驅(qū)動(dòng)器*/

int gmode; /*圖形驅(qū)動(dòng)模式*/

gdriver = DETECT; /*自動(dòng)檢測(cè)硬件,已確定圖形驅(qū)動(dòng)器*/

initgraph(gdriver,gmode,\"\");初始化圖形設(shè)備

setbkcolor(BLUE); /*設(shè)置屏幕背景顏色為藍(lán)色*/

circle(getmaxx() / 2,getmaxy() / 2,100); /*在屏幕中間繪制一個(gè)半

為100的圓*/

closegraph(); /*關(guān)閉圖形模式*/

return(0);

}

求C語(yǔ)言的畫(huà)圖函數(shù),越多越好.

II、設(shè)定線型函數(shù)

在沒(méi)有對(duì)線的特性進(jìn)行設(shè)定之前,TURBO C 用其默認(rèn)值,即一點(diǎn)寬的實(shí)線,但TURBO C 也提供了可以改變線型的函數(shù)。

線型包括:寬度和形狀。其中寬度只有兩種選擇:一點(diǎn)寬和三點(diǎn)寬。而線的形狀則有五種。

下面介紹有關(guān)線型的設(shè)置函數(shù)。

void far setlinestyle(int linestyle,unsigned upattern,int thickness); 該函數(shù)用來(lái)設(shè)置線的有關(guān)信息,其中l(wèi)inestyle是線形狀的規(guī)定,見(jiàn)下表。

有關(guān)線的形狀(linestyle)

━━━━━━━━━━━━━━━━━━━━━━━━━

符號(hào)常數(shù) 數(shù)值 含義

—————————————————————————

SOLID_LINE 0 實(shí)線

DOTTED_LINE 1 點(diǎn)線

CENTER_LINE 2 中心線

DASHED_LINE 3 點(diǎn)畫(huà)線

USERBIT_LINE 4 用戶定義線

━━━━━━━━━━━━━━━━━━━━━━━━━

thickness是線的寬度,見(jiàn)下表。

有關(guān)線寬(thickness)

━━━━━━━━━━━━━━━━━━━━━━━━━

符號(hào)常數(shù) 數(shù)值 含義

—————————————————————————

NORM_WIDTH 1 一點(diǎn)寬

THIC_WIDTH 3 三點(diǎn)寬

━━━━━━━━━━━━━━━━━━━━━━━━━

對(duì)于upattern,只有l(wèi)inestyle選USERBIT_LINE 時(shí)才有意義 (選其它線型,uppattern取0即可)。此時(shí)uppattern的16位二進(jìn)制數(shù)的每一位代表一個(gè)象元,如果那位為1,則該象元打開(kāi),否則該象元關(guān)閉。

void far getlinesettings(struct linesettingstypefar *lineinfo);該函數(shù)將有關(guān)線的信息存放到由lineinfo 指向的結(jié)構(gòu)中,表中l(wèi)inesettingstype的結(jié)構(gòu)如下:

struct linesettingstype{

int linestyle;

unsigned upattern;

int thickness;

}

例如下面兩句程序可以讀出當(dāng)前線的特性

struct linesettingstype *info;

getlinesettings(info);

void far setwritemode(int mode);該函數(shù)規(guī)定畫(huà)線的方式。如果mode=0,則表示畫(huà)線時(shí)將所畫(huà)位置的原來(lái)信息覆蓋了(這是TURBO C的默認(rèn)方式)。如果mode=1, 則表示畫(huà)線時(shí)用現(xiàn)在特性的線與所畫(huà)之處原有的線進(jìn)行異或(XOR)操作, 實(shí)際上畫(huà)出的線是原有線與現(xiàn)在規(guī)定的線進(jìn)行異或后的結(jié)果。因此,當(dāng)線的特性不變,進(jìn)行兩次畫(huà)線操作相當(dāng)于沒(méi)有畫(huà)線。

有關(guān)線型設(shè)定和畫(huà)線函數(shù)的例子如下所示。

#includestdlib.h

#includegraphics.h

int main()

{

int gdriver, gmode, i;

gdriver=DETECT;

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

setbkcolor(BLUE);

cleardevice();

setcolor(GREEN);

circle(320, 240, 98);

setlinestyle(0, 0, 3); /*設(shè)置三點(diǎn)寬實(shí)線*/

setcolor(2);

rectangle(220, 140, 420, 340);

setcolor(WHITE);

setlinestyle(4, 0xaaaa, 1);

/*設(shè)置一點(diǎn)寬用戶定義線*/

line(220, 240, 420, 240);

line(320, 140, 320, 340);

getch();

closegraph();

return 0;

}

C語(yǔ)言繪圖函數(shù)問(wèn)題(超簡(jiǎn)單)

用法: 該函數(shù)調(diào)用方式為void line(int startx,int starty,int endx,int endy); 說(shuō)明: 參數(shù)startx,starty為起點(diǎn)坐標(biāo),endx,endy為終點(diǎn)坐標(biāo),函數(shù)調(diào)用前后,圖形狀態(tài)下屏幕光標(biāo)(一般不可見(jiàn))當(dāng)前位置不改變。

C語(yǔ)言如何畫(huà)圖

framebuffer(幀緩沖)。

幀的最低數(shù)量為24(人肉眼可見(jiàn))(低于24則感覺(jué)到畫(huà)面不流暢)。

顯卡與幀的關(guān)系:由cpu調(diào)節(jié)其數(shù)據(jù)傳輸速率來(lái)輸出其三基色的配比。

三基色:RGB(紅綠藍(lán))。

在沒(méi)有桌面和圖形文件的系統(tǒng)界面,可以通過(guò)C語(yǔ)言的編程來(lái)實(shí)現(xiàn)在黑色背景上畫(huà)圖!

用下面的代碼,在需要的地方(有注釋)適當(dāng)修改,就能畫(huà)出自己喜歡的圖形!

PS:同樣要編譯運(yùn)行后才能出效果。

#include stdio.h

#include sys/mman.h

#include fcntl.h

#include linux/fb.h

#include stdlib.h

#define RGB888(r,g,b) ((r 0xff) 16 | (g 0xff) 8 | (b 0xff))

#define RGB565(r,g,b) ((r 0x1f) 11 | (g 0x3f) 5 | (b 0x1f))

int main()

{

int fd = open("/dev/fb0", O_RDWR);

if(fd 0){

perror("open err. \n");

exit(EXIT_FAILURE);

printf("xres: %d\n", info.xres);

printf("yres: %d\n", info.yres);

printf("bits_per_pixel: %d\n", info.bits_per_pixel);

size_t len = info.xres*info.yres*info.bits_per_pixel 3;

unsigned long* addr = NULL;

addr = mmap(NULL, len, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);

if(addr == (void*)-1){

perror("mmap err. \n");


網(wǎng)頁(yè)名稱:c函數(shù)繪圖語(yǔ)言報(bào)告 c語(yǔ)言畫(huà)函數(shù)
網(wǎng)頁(yè)路徑:http://weahome.cn/article/ddjdejs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部