老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

c語言函數繪圖程序,用c語言編寫畫圖程序

C語言繪圖函數問題(超簡單)

用法: 該函數調用方式為void line(int startx,int starty,int endx,int endy); 說明: 參數startx,starty為起點坐標,endx,endy為終點坐標,函數調用前后,圖形狀態下屏幕光標(一般不可見)當前位置不改變。

創新互聯建站于2013年創立,先為寧晉等服務建站,寧晉等地企業,進行企業商務咨詢服務。為寧晉企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

用c語言寫程序,此程序能畫出來函數y=2x+5的曲線圖形。

此題把數學問題轉化為用C語言描述即可,很多畫圖問題可以使用這種方法。

假設屏幕左上角為坐標軸原點

也就是把我們的屏幕當作第一象限時,代碼如下

#include?stdio.h

#define??MAX???30??//?選定曲線要顯示的范圍,因為一次函數是一條直線,所以它的顯示范圍無窮

int?main()

{

int?x,?y;

for?(y?=?0;?y??MAX;?y++)??//?因為我們的光標是向下,向右增長。這里設定y為縱坐標

{

for?(x?=?0;?x??MAX;?x++)

{

if?(y?==?2?*?x?+?5)

{

printf("*");??

}

else

{

printf("?");??//?空格,不滿足y=2x+5的點

}

}

printf("\n");?//?x軸已經到顯示范圍,所以需要換行。

}

return?0;

}

2. 更換坐標軸原點顯示

#include?stdio.h

#define??MAX???30??//?選定曲線要顯示的范圍,因為一次函數是一條直線,所以它的顯示范圍無窮

int?main()

{

int?x,?y;

for?(y?=?30;?y?=?0;?y--)??

{

for?(x?=?0;?x??MAX;?x++)

{

if?(y?==?2?*?x?+?5)

{

printf("*");??

}

else

{

printf("?");??//?空格,不滿足y=2x+5的點

}

}

printf("\n");?//?x軸已經到顯示范圍,所以需要換行。

}

return?0;

}

在c語言環境(TC2.0)下開發繪圖程序

#includestdio.h

#includegraphics.h

main()

{ int gdriver,gmode;

gdriver=DETECT;

initgraph(gdriver,gmode,"");

setcolor(BLUE);

setfillstyle(1,RED);

pieslice(250,250,0,45,200);

setfillstyle(1,GREEN);

pieslice(250,250,45,90,200);

setfillstyle(1,BLUE);

pieslice(250,250,90,135,200);

setfillstyle(1,CYAN);

pieslice(250,250,135,180,200);

setfillstyle(1,BROWN);

pieslice(250,250,180,225,200);

setfillstyle(1,LIGHTGRAY);

pieslice(250,250,225,270,200);

setfillstyle(1,YELLOW);

pieslice(250,250,270,315,200);

setfillstyle(1,MAGENTA);

pieslice(250,250,315,360,200);

getch();

closegraph();

}

(一) 像素函數

56. putpiel() 畫像素點函數

57. getpixel()返回像素色函數

(二) 直線和線型函數

58. line() 畫線函數

59. lineto() 畫線函數

60. linerel() 相對畫線函數

61. setlinestyle() 設置線型函數

62. getlinesettings() 獲取線型設置函數

63. setwritemode() 設置畫線模式函數

(三)、多邊形函數

64. rectangle() 畫矩形函數

65. bar() 畫條函數

66. bar3d() 畫條塊函數

67. drawpoly() 畫多邊形函數

(四)、 圓、弧和曲線函數

68. getaspectratio()獲取縱橫比函數

69. circle()畫圓函數

70. arc() 畫圓弧函數

71. ellipse()畫橢圓弧函數

72. fillellipse() 畫橢圓區函數

73. pieslice() 畫扇區函數

74. sector() 畫橢圓扇區函數

75. getarccoords()獲取圓弧坐標函數

(五)、 填充函數

76. setfillstyle() 設置填充圖樣和顏色函數

77. setfillpattern() 設置用戶圖樣函數

78. floodfill() 填充閉域函數

79. fillpoly() 填充多邊形函數

80. getfillsettings() 獲取填充設置函數

81. getfillpattern() 獲取用戶圖樣設置函數

(六)、圖像函數

82. imagesize() 圖像存儲大小函數

83. getimage() 保存圖像函數

84. putimage() 輸出圖像函數

四、圖形和圖像函數

對許多圖形應用程序,直線和曲線是非常有用的。但對有些圖形只能靠操作單個像素才能畫出。當然如果沒有畫像素的功能,就無法操作直線和曲線的函數。而且通過大規模使用像素功能,整個圖形就可以保存、寫、擦除和與屏幕上的原有圖形進行疊加。

(一) 像素函數

56. putpixel() 畫像素點函數

功能: 函數putpixel() 在圖形模式下屏幕上畫一個像素點。

用法: 函數調用方式為void putpixel(int x,int y,int color);

說明: 參數x,y為像素點的坐標,color是該像素點的顏色,它可以是顏色符號名,也可以是整型色彩值。

此函數相應的頭文件是graphics.h

返回值: 無

例: 在屏幕上(6,8)處畫一個紅色像素點:

putpixel(6,8,RED);

57. getpixel()返回像素色函數

功能: 函數getpixel()返回像素點顏色值。

用法: 該函數調用方式為int getpixel(int x,int y);

說明: 參數x,y為像素點坐標。

函數的返回值可以不反映實際彩色值,這取決于調色板的設置情況(參見setpalette()函數)。

這個函數相應的頭文件為graphics.h

返回值: 返回一個像素點色彩值。

例: 把屏幕上(8,6)點的像素顏色值賦給變量color。

color=getpixel(8,6);

(二) 直線和線型函數

有三個畫直線的函數,即line(),lineto(),linerel()。這些直線使用整型坐標,并相對于當前圖形視口,但不一定受視口限制,如果視口裁剪標志clip為真,那么直線將受到視口邊緣截斷;如果clip為假,即使終點坐標或新的當前位置在圖形視口或屏幕極限之外,直線截斷到屏幕極限。

有兩種線寬及幾種線型可供選擇,也可以自己定義線圖樣。下面分別介紹直線和線型函數。

58. line() 畫線函數

功能: 函數line()使用當前繪圖色、線型及線寬,在給定的兩點間畫一直線。

用法: 該函數調用方式為void line(int startx,int starty,int endx,int endy);

說明: 參數startx,starty為起點坐標,endx,endy為終點坐標,函數調用前后,圖形狀態下屏幕光標(一般不可見)當前位置不改變。

此函數相應的頭文件為graphics.h

返回值: 無

例: 見函數60.linerel()中的實例。

59. lineto() 畫線函數

功能: 函數lineto()使用當前繪圖色、線型及線寬,從當前位置畫一直線到指定位置。

用法: 此函數調用方式為void lineto(int x,int y);

說明: 參數x,y為指定點的坐標,函數調用后,當前位置改變到指定點(x,y)。

該函數對應的頭文件為graphics.h

返回值: 無

例: 見函數60.linerel()中的實例。

60.linerel() 相對畫線函數

功能: 函數linerel() 使用當前繪圖色、線型及線寬,從當前位置開始,按指定的水平和垂直偏移距離畫一直線。

用法: 這個函數調用方式為void linerel(int dx,int dy);

說明: 參數dx,dy分別是水平偏移距離和垂直偏移距離。

函數調用后,當前位置變為增加偏移距離后的位置,例如,原來的位置是(8,6),調用函數linerel(10,18)后,當前位置為(18,24)。

返回值:無

如何用c語言畫函數圖像

用GDI繪圖吧,比較簡單。繪圖的思想是讓x以固定的值在區間內持續增長,比如x=0.1,0.2,0.3.....,以計算出的y值來確定y坐標。用線連接所有的點就行了。MoveTo(),LineTo()函數你用得著,具體情況請自行查看MSDN。

求一個純C語言繪圖函數

SDL可以做到。給你貼個源碼:

#includestdio.h

#includestdlib.h

#includeunistd.h

#includeSDL/SDL.h

#includeSDL/SDL_image.h

//函數聲明

int Init(void);

SDL_Surface *createScreen(int width,int height,int bpp,Uint32 flags);

void destroyScreen(SDL_Surface *screen);

SDL_Surface *loadImageBMP(char *filename);

void loadImage(char *filename,SDL_Surface *screen,int xPos,int yPos);

SDL_Surface *screen;

SDL_Surface *image_handler;

char buffer[10];

int main(int argc,char *argv[])

{

int height=640,width=480;

int bpp=8;

Init();

screen = createScreen(width,height,bpp,SDL_SWSURFACE);

loadImage("./wuyajie.bmp",screen,width/2,height/4);

read(STDIN_FILENO,buffer,1);

destroyScreen(screen);

SDL_Quit();

return 0;

}

int Init(void)

{

if(SDL_Init(SDL_INIT_VIDEO)==-1)

{

fprintf(stderr,"SDL Init Error:%s\n",SDL_GetError());

exit(-1);

}

return 0;

}

/*

創建屏幕,并將屏幕設置為640x480大小

*/

SDL_Surface *createScreen(int width,int height,int bpp,Uint32 flags)

{

SDL_Surface *screen;

if((screen = SDL_SetVideoMode(width,height,bpp,flags))==NULL)

{

fprintf(stderr,"Could not create a screen:%s\n",SDL_GetError());

exit(-1);

}

return screen;

}

/*

加載圖片

*/

void loadImage(char *filename,SDL_Surface *screen,int xPos,int yPos)

{

SDL_Surface *image;

SDL_Rect dest;

image = SDL_LoadBMP(filename);

if ( image == NULL ){

fprintf(stderr, "無法加載 %s: %s\n", filename, SDL_GetError());

exit(-1);

}

dest.x = xPos;

dest.y = yPos;

dest.w = image-w;

dest.h = image-h;

SDL_BlitSurface(image,NULL,screen,dest);

SDL_UpdateRects(screen,1,dest);

}

void destroyScreen(SDL_Surface * screen)

{

SDL_FreeSurface(screen);

}

C語言如何畫圖

framebuffer(幀緩沖)。

幀的最低數量為24(人肉眼可見)(低于24則感覺到畫面不流暢)。

顯卡與幀的關系:由cpu調節其數據傳輸速率來輸出其三基色的配比。

三基色:RGB(紅綠藍)。

在沒有桌面和圖形文件的系統界面,可以通過C語言的編程來實現在黑色背景上畫圖!

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

PS:同樣要編譯運行后才能出效果。

#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");


當前標題:c語言函數繪圖程序,用c語言編寫畫圖程序
本文網址:http://www.xueling.net.cn/article/hdgpgs.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 精品无码一区二区三区亚洲桃色 | 亚洲第一区在线观看 | 少妇一级淫片a | 国产火热热av | 久久天天躁狠狠躁夜夜97 | 暗呦交小u女国产精品视频 国产精品99无码一区二区 | A级毛片无码久久精品免费 激情欧美成人久久综合 | 欧美久操视频 | 哪里可以看毛片 | 国产美女一区二区三区在线观看 | 日韩在线观看视频免费 | 天天干天天操天天搞 | 穿越时空的少女免费观看动漫日语 | 国产综合视频在线 | 亚洲成网站| 无码欧美一区二区三区 | 国产熟人AV一二三区 | 成在人线av无码免费高潮水 | 麻豆传谋在线观看免费 | 亚洲精品国产有码 | 中文字幕精品一区 | 国产高清视频91 | 国产无av码在线观看 | 日韩欧美成人免费观看 | 国产91精品亚洲一区二区三区 | 狠狠色噜噜狠狠狠7777奇米 | 久久婷婷五月综合色国产香蕉 | 天海翼精品一区二区三区 | 黄色一极毛片 | 亚色成人 | 野花香日本在线观看免费视频 | av在线免费播放网址 | 久久国产精品视频 | 精品久久久久久中文字幕大豆网 | 精品欧美色视频网站在线观看 | 教师学生毛片一区二区三区 | 瑟瑟久久 | 热久久免费 | 国产成人精品一区二区仙踪林 | 白丝袜美女扒开内衣网站 | 我想看一级黄色 |