c語言如何畫圖,C語言如何畫圖

時間 2021-07-05 16:49:40

1樓:

framebuffer(幀緩衝)。

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

顯示卡與幀的關係:由cpu調節其資料傳輸速率來輸出其三基色的配比。

三基色:rgb(紅綠藍)。

在沒有桌面和圖形檔案的系統介面,可以通過c語言的程式設計來實現在黑色背景上畫圖!

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

ps:同樣要編譯執行後才能出效果。

#include

#include

#include

#include

#include

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

2樓:百度文庫精選

內容來自使用者:7qjcip4x40ed2

c語言畫圖基本函式

基本圖形函式包括畫點,線以及其它一些基本圖形的函式。本節對這些函式作一全面的介紹。1、畫點i.

畫點函式voidfar形象元的座標。在圖形模式下,是按象元來定義座標的。對vga介面卡,它的最高解析度為640x480,其中640為整個螢幕從左到右所有象元的個數,480為整個螢幕從上到下所有象元的個數。

螢幕的左上角座標為(0,0),右下角座標為(639,479),水平方向從左到右為x軸正向,垂直方向從上到下為y軸正向。turbo說的。關於點的另外一個函式是:

ii、有關座標位置的函式intfarintfarintfargetmaxx(void);返回x軸的最大值。getmaxy(void);返回y軸的最大值。getx(void);返回遊標在x軸的位置。

返回遊標有y軸的位置。y);移動遊標到(x,y)點,不是畫點,在移動過程中亦畫點。dx,intdy);移動遊標從現行位置(x,y)移動到(x+dx,y+dy)的位置,移動過程中不畫intfargetpixel(intx,inty);它獲得當前點(x,y)的顏色值。

c的圖形函式都是相對於圖形螢幕座標,即象元來putpixel(intx,inty,intcolor);該函式表示有指定的象元畫一個按color所確定顏色的點。對於顏色color的值可從表3中獲得而對x,y是指圖

voidfargety(void);voidfarmoverel(int點。2、畫線i.畫線函式

voidfarmoveto(intx,intturboc提供了一系列畫線函式,下面分別敘述:voidfarline(intx0,voidfarlinerel(intvoidfa

3樓:匿名使用者

c語言畫圖有專門的一個子集函式,進入影象狀態就可以利用這些函式來畫「點」,「線」,「圓」,「矩形」,「橢圓」等等基本影象,利用這些基本影象可以實現一個複雜圖形的繪製。例如:

#i nclude

void main()

4樓:福建省寧德市

c語言中提供了庫函式來畫圓,函式名為circle函式的標頭檔案為 #include

函式功能: circle()使用當前繪圖色並以實線畫一個完整的圓。

用法:該函式呼叫方式為void circle(int x,int y,int radius);

說明:引數x,y為圓心座標,radius為圓半徑,用畫素個素表示。注意,呼叫circle()函式畫圓時不用當前線型。

5樓:隔壁的蟲子

c語言是函式語言,所以畫圖也離不開各種圖形函式:下面舉幾個簡單的例子:

***********************************====

1./*學用circle畫圓形*/

#include "graphics.h"

main()

getch();

} 2.//line畫直線

#include "graphics.h"

main()

x0=263;y1=275;y0=263;

for(i=0;i<=20;i++)

getch();

} 3.//用rectangle畫方形

#include "graphics.h"

main()

settextstyle(default_font,horiz_dir,2);

outtextxy(150,40,"how beautiful it is!");

line(130,60,480,60);

setcolor(2);

circle(269,269,137);

} ***********************************

更多有關c語言圖形方面的函式及用法請參考c語言圖形學的相關知識。

6樓:匿名使用者

現在還在研究c語言畫圖有點過時了吧

7樓:匿名使用者

先要影象初始化:

int gd=detect,gm;

initgraph(&gd,&gm,"");

然後呼叫一些畫圖函式就好了,如line,circle等.

8樓:匿名使用者

不要認為學c過時了

學習c語言很有用的

你走到底層的時候你就知道了

在c語言程式設計中,如何呼叫matlab的繪圖功能?

9樓:day忘不掉的痛

一、呼叫

baimatlab引擎

呼叫matlab引擎可以du在win32、mfc中使用,zhi

它的原理實際上dao相當於開啟一個回精簡版的matlab然後往裡面輸命令答。下面是呼叫matlab中的加法程式add.m的例子。

先在matlab的work目錄下建立add.m檔案並編寫程式如下:

function s = add (a, b) s = a+b;在c程式中,首先開啟精簡版的matlab

engine *ep = engopen (null);

編譯執行後,會自動開啟一個命令列監控視窗,輸入pwd就可以看到當前的工作目錄,於是需要先將工作目錄轉換至存放add.m的目錄: engevalstring (ep, 」cd ..

\\..\\work」);

engevalstring是往matlab裡輸命令的函式,顯然我們的目標是成功執行: engevalstring (ep, 」s=add(a,b)」);

目前matlab中並沒有a和b兩個變數,因此需要在c中初始化這兩個變數並轉換成matlab基本變數型別mxarray,才能將它們輸入到matlab中。

10樓:匿名使用者

你這樣想沒

bai有錯,但du是你有沒有考慮

c語言入門,C語言如何入門

僅一個孩子的結點數為30.這30個結點的孩子就是30個葉子。30 30 60。剩餘的結點就是都有2個孩子結點和剩餘的20個葉結點。剩餘的20個葉結點需要10個父親結點。60 20 10 90。此時滿足50個葉結點。共有40個父親結點。這40個結點同時需要滿足2個結點有一個父親結點。所以40 2 20...

如何自學C 語言,如何自學C語言呢?

聽說終歸聽說,關鍵只有動手。當然,有了理論指導再去實踐會比較好一些,所以一開始你就找一本關於c 的教材就可以了,有好多好多不同作者不同出版社的,不過基本的內容都一樣,所以隨便一本也行,只要你肯下功夫去看。然後再結合一些典型的例子練一下,從自己除錯程式中發現在問題,總結經驗。這就是初學者入門都必經之路...

C語言程式設計,如何編寫C語言程式

首先,你需要學會c語言的基礎語法,那麼你就可以寫一些簡單的程式了。想要進階就要進一步專深入學習算屬法等。其次,學習程式語言必須要有興趣,興趣不夠很容易半途而廢。格式的話,養成良好的縮排習慣有助於別人和自己更容易看懂 推薦一本書 寫的很不錯。你還需要安裝ide,推薦安裝vs2012。拓展資料 c語言是...