用c語言畫圖紙,c語言實現畫圖

本文目錄一覽:

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語言畫圖 要選對 C語言編程工具。 目前最方便的是「習語言」,它能編譯所有C代碼,又能在C代碼中使用它支持的繪圖函數。

也可以使用二十年前的C語言編程工具來繪圖,通常是在DOS窗口中繪圖。

怎樣用c語言畫圖

用graphics函數

坦克圖畫:

#include”graphics.h”

#include”conio.h”

void Tanke(int x,int y,int R,int TColor,int FColor)

{

int i,j,d,t;

d=R/4;t=d*0.6;

setcolor(TColor);

/*——————————————–*/

line(x-R,y,x+R-t,y);

line(x-R,y,x-R+d,y+2*d);

line(x-R+d,y+2*d,x+3*d,y+2*d);

line(x+3*d,y+2*d,x+R-t,y);

/*——————————————–*/

line(x-R,y,x-R+t,y-t);

line(x-R+t,y-t,x-2*d,y-t);

line(x-2*d,y-t,x-2*d+t,y-d-t);

line(x-2*d+t,y-d-t,x-3*d,y-d-t);

line(x-3*d,y-d-t,x-3*d+t,y-2*d);

line(x-3*d+t,y-2*d,x+R-t,y-2*d);

line(x+R-t,y-2*d,x+R-t,y);

/*——————————————-*/

line(x-3*d,y-d-t,x-2*d,y-t);

/*——————————————-*/

line(x-R+d-t,y+2*(d-t),x+3*d+R*0.04,y+2*(d-t));

for(i=0;i2*(R/d-1);i++)

line(x-3*d+i*d,y+2*(d-t),x-3*d+i*d,y+2*d);

/*——————————————-*/

setfillstyle(1,TColor);

bar(x-d*1.2,y-d*0.6,x+d*2,y-d*0.2);

line(x-d*1.2,y-d*0.6,x-d*0.6,y-d*1.8);

line(x-d*0.6,y-d*1.8,x+d*2.4,y-d*1.8);

line(x+d*2.4,y-d*1.8,x+d*2,y-d*0.6);

line(x+d*2.4,y-d*1.8,x+d*2.4,y-d*1.4);

line(x+d*2,y-d*0.2,x+d*2.4,y-d*1.4);

/*——————————————-*/

sector(x+d*0.6,y-d,0,180,d*1.2,d*1.4);

/*——————————————-*/

for(i=0;id*0.3;i++) /*畫炮桿*/

line(x+d*0.2,y-d*1.8+i,x-d*2.5,y-d*1.8+i);

setfillstyle(1,FColor);

bar(x-d*3,y-d*1.9,x-d*2.3,y-d*1.3); /*炮頭(紅色)*/

}

main()

{

int gd=DETECT,gm;

initgraph(gd,gm,””);

setcolor(0);

Tanke(300,200,50,WHITE,RED);

getch();

closegraph();

}

c語言的流程圖怎麼畫?

如果會編程序而不會畫流程圖,建議先把自己的程序研究一遍。

若是畫主程序流程圖,那就需看懂主函數的程序,按照main()函數中的具體書寫過程來畫,例如:

程序開始—定義變量—初始化變量—使用選擇或者循環或者順序結構—調用某一個子函數(可以沒有)—程序結束

以上是最簡單的程序流程圖畫法。

若你是畫某一算法或是某一模塊的流程圖,就要把相應的算法或是模塊看懂。分析算法或是模塊的具體走法,根據此走法就可以畫出對應的流程圖。

如果你是初學者,想根據流程圖的畫法而去嘗試編程,建議就一定要研究清楚每一個使用到的算法,讀懂題目再開始編程。

下面是使VISO畫流程圖的幾個要點:

1、選擇下載一個合適版本的VISO

2、程序開始結束用膠囊

3、分頁用圓圈

4、輸入用平行四邊形

5、語句用方塊

6、判斷用菱形

7、打印用波浪

如何用C語言畫基本圖形

下面舉一個用drawpoly()函數畫箭頭的例子。#include

#include

int main()

{

int gdriver, gmode, i;

int arw[16]={200,102,300,102,300,107,330,br/100,300,93,300,98,200,98,200,102};

gdriver=DETECT;

initgraph(gdriver, gmode, “c:\\caic\\bgi”);

setbkcolor(BLUE);

cleardevice();

setcolor(12); /*設置作圖顏色*/

drawpoly(8, arw); /*畫一箭頭*/

getch();

closegraph();

return 0;

}

設定線型函數

在沒有對線的特性進行設定之前,TURBO C 用其默認值,即一點寬的實線,但TURBO C 也提供了可以改變線型的函數。線型包括:寬度和形狀。其中寬度只有兩種選擇:一點寬和三點寬。而線的形狀則有五種。下面介紹有關線型的設置函數。

void far setlinestyle(intlinestyle,unsigned upattern,int thickness); 該函數用來設置線的有關信息,其中linestyle是線形狀的規定,

見下表:

有關線的形狀(linestyle)

━━━━━━━━━━━━━━━━━━━━━━━━━

符號常數 數值 含義

─────────────────────────

SOLID_LINE 0 實線

DOTTED_LINE 1 點線

CENTER_LINE 2 中心線

DASHED_LINE 3 點畫線

USERBIT_LINE 4 用戶定義線

━━━━━━━━━━━━━━━━━━━━━━━━━

有關線寬(thickness)

thickness是線的寬度,見下表。

━━━━━━━━━━━━━━━━━━━━━━━━━

符號常數 數值 含義

─────────────────────────

NORM_WIDTH 1 一點寬

THIC_WIDTH 3 三點寬

━━━━━━━━━━━━━━━━━━━━━━━━━

對於upattern,只有linestyle選USERBIT_LINE 時才有意義 (選其它線型,uppattern取0即可)。此進uppattern的16位二進制數的每一位代表一個象元,如果那位為1,則該象元打開,否則該象元關閉。 void far getlinesettings(struct linesettingstypefar *lineinfo);該函數將有關線的信息存放到由lineinfo 指向的結構中,表中linesettingstype的結構如下:

 struct linesettingstype

 {

 int linestyle;

 unsigned upattern;

 int thickness;

 }

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/270827.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 13:38
下一篇 2024-12-16 13:38

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28

發表回復

登錄後才能評論