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

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

c語言寫一個畫直線函數(shù) 用c語言畫直線

用VC6.0編寫的畫直線的C語言程序!求大神幫忙!

這個簡單,用MoveTo 和LineTo就行了。如有下面2個點,x(1,2),y(8,9)

成都創(chuàng)新互聯(lián)公司主營華容網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),華容h5小程序定制開發(fā)搭建,華容網(wǎng)站營銷推廣歡迎華容等地區(qū)企業(yè)咨詢

你只要MoveTo(1,2);

LineTo(8,9);

如果你是要任意輸入2個點的話,那么先將輸入的點先轉(zhuǎn)化為浮點型,用atof函數(shù),這個函數(shù)使用起來很簡單,就是把字符型轉(zhuǎn)化為浮點型。這樣就好了。

我是c語言初學(xué)者,老師要求設(shè)計程序用函數(shù)畫一個圓和一條直線。求各位路過的大神仗義相助。。

1??對于這種問題,首先分析需求,

直線:

要畫直線,要的是什么,就是兩個點;

所以定義一個結(jié)構(gòu)體

struct?point

{

int??x;

int??y;

}Ppline,Ppcircle;

畫圓:

那么需要一個圓心,和一個半徑;

圓心,通過上面的定義,可以獲得,半徑的話,直接傳遞參數(shù)就行了;

直線函數(shù):

int??paintline(Ppline??startpoint,Ppline?endpoint);

畫圓函數(shù):

int??paintcircle(Ppcircle???centerpoint,int??r);

怎么用C語言畫點和直線

這個不管怎么說不是最開始的控制臺的程序,這個新建工程的時候需要選擇的是Win32的程序

畫線的函數(shù)使用windows提供的API,MoveTo:移動到起點,LineToEx:移動到終點的這兩個函數(shù),是在OnPaint,或是響應(yīng)WM_PAINT的消息的時候處理這兩個函數(shù);畫點的畫,使用SetPixel這個函數(shù),同樣也是在WM_PAINT的消息中去處理與畫圖有關(guān)的操作的

怎樣用C語言繪制直線

1.void far line(int x0, int y0, int x1, int y1);

畫一條從點(x0, y0)到(x1, y1)的直線。

2.void far lineto(int x, int y);

畫一作從現(xiàn)行游標(biāo)到點(x, y)的直線。

3.void far linerel(int dx, int dy);

畫一條從現(xiàn)行游標(biāo)(x, y)到按相對增量確定的點(x+dx, y+dy)的直線。

利用C語言編寫 能夠畫出任意的直線算法程序(利用畫點函數(shù))

上次剛寫過,在VC下運行的,

int dx,dy,incrE,incrNE,d,x,y;

if ((point[1].x-point[0].x)==0){ //垂直的直線

x=point[0].x;

for(y=point[0].y;ypoint[1].y;y++)

pDC-SetPixel(x,y,50);

}

else if(abs((point[1].y-point[0].y)/(point[1].x-point[0].x))=1){ //斜率 -1到 1 之間

dx=point[1].x-point[0].x;

dy=point[0].y-point[1].y;

d=dx-2*dy;

incrE=-2*dy;

incrNE=2*(dx-dy);

x=point[0].x,y=point[0].y;

pDC-SetPixel(x,y,50);

if(point[0].ypoint[1].y){

while(xpoint[1].x)

{

if(d=0){

d+=incrE;

x++;

}

else

{d+=incrNE;

x++;

y--;

}

pDC-SetPixel(x,y,50);

}

}

else if(point[0].y=point[1].y){

dy=point[1].y-point[0].y;

incrE=-2*dy;

incrNE=2*(dx-dy);

x=point[0].x,y=point[0].y;

pDC-SetPixel(x,y,50);

while(xpoint[1].x)

{

if(d=0){

d+=incrE;

x++;

}

else

{d+=incrNE;

x++;

y++;

}

pDC-SetPixel(x,y,50);

}

}

}

else { //斜率 -1 和 1的直線

if(point[1].x=point[0].x){

dx=point[1].x-point[0].x;

dy=point[1].y-point[0].y;

d=2*dx-dy;

incrE=2*dx;

incrNE=2*(dx-dy);

x=point[0].x,y=point[0].y;

pDC-SetPixel(x,y,50);

while(xpoint[1].x)

{

if(d0){

d+=incrE;

y++;

}

else

{d+=incrNE;

pDC-SetPixel(x,y,50);

x++;

y++;

}

pDC-SetPixel(x,y,50);

}

}

else if((point[1].y-point[0].y)/(point[1].x-point[0].x)-1){

dx=point[1].x-point[0].x;

dy=point[0].y-point[1].y;

d=2*dx-dy;

incrE=2*dx;

incrNE=2*(dx-dy);

x=point[0].x,y=point[0].y;

pDC-SetPixel(x,y,50);

while(ypoint[1].y)

{

if(d0){

d+=incrE;

y++;

}

else

{d+=incrNE;

x--;

y++;

}

pDC-SetPixel(x,y,50);

}

}

}


當(dāng)前名稱:c語言寫一個畫直線函數(shù) 用c語言畫直線
分享地址:http://weahome.cn/article/hjjdid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部