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語言是...