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畫圖問題
並非沒有反應,而是因為記事本重新整理了顯示。將記事本放到桌面的一個位置,使其他所有程式都不遮蓋它,然後執行程式,程式可改為控制檯程式 該程式不能遮蓋記事本的視窗 dllimport user32.dll entrypoint findwindow private static extern intp...
c語言指標如何賦值,c語言 指標如何賦值
一棵無所不知的小白菜 1 變數的指標就是變數的地址。存放變數地址的變數是指標變數。即在c語言中,允許用一個變數來存放指標,這種變數稱為指標變數。因此,一個指標變數的值就是某個變數的地址或稱為某變數的指標。2 為了表示指標變數和它所指向的變數之間的關係,在程式中用 符號表示 指向 3 定義指標變數.對...
c語言 如何輸入漢字,C語言 如何輸入漢字
幻翼高達 需要準備的材料分別有 電腦 c語言編譯器。1 首先,開啟c語言編譯器,新建一個初始.cpp檔案,例如 test.cpp。2 在test.cpp檔案中,輸入c語言 char a 20 gets a puts a 3 編譯器執行test.cpp檔案,此時成功輸入了漢字並列印了輸入的漢字。 蘇 ...