當前位置:首頁 » 編程語言 » c語言圖形編程講解
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言圖形編程講解

發布時間: 2022-12-21 23:45:03

c語言圖形編程 請寫清楚點 最好解釋一下關鍵步驟

#include<stdio.h>
int main()
{
int i,m,n;
for(i=1;i<7;i++) //i取多少就有多少行
{ m=2*i-1;//輸出*的個數和行數的關系,和數學里的找規律差不多

for(n=1;n<=m;n++)
{
printf("*");
}
printf("\n");
}

return 0;
}

⑵ 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. ");

  • exit(EXIT_FAILURE);

printf("xres: %d ", info.xres);

printf("yres: %d ", info.yres);

printf("bits_per_pixel: %d ", 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. ");

⑶ C語言編輯圖形

for函數解釋:
例如for(i=1;i<=n-1;i++)這個循環條件,i=1是循環開始狀態,i<=n-1是維持循環條件,i++是每次循環後改變的狀態,i=1循環到i=n-1,每次i的值自加,即i=1,i=2,i=3.....i=n-2,n=n-1依次循環,共循環n-1次

主函數代碼注釋:
#include <stdio.h>
main()
{
int i,j,n; //定義整形參數i,j,n
scanf("%d",&n); //輸入整形參數n的值
for(i=1;i<=n-1;i++) //從i=1循環到i=n-1,每次i的值自加(即i=1,i=2,i=3...i=n-1),循環n-1次
{
for(j=1;j<=i;j++) printf("#"); //從j=1循環到j=i,每次j的值自加,循環i次,每次循環輸出一個「#」,這行代碼功能是輸出i個#,以下類似
for(j=1;j<=2*(n-i)-1;j++) printf(" "); //這行代碼功能是輸出2(n-i)-1個空格
for(j=1;j<=i;j++) printf("#"); //這行代碼功能是輸出i個#
printf("\n"); //換行
}
for(i=1;i<=2*n-1;i++) printf("#"); //這行代碼功能是輸出2(n-1)個#
printf("\n"); //換行
}

分析:
以輸入5為例,首先我們輸入n的值為5
for(i=1;i<=n-1;i++) 此循環循環n-1次,即循環4次
每個循環輸出i個#,2(n-i)-1個空格,再輸出i個#,之後換行
4次循環i的值分別為1,2,3,4,這便輸出了前4行,循環退出
之後for(i=1;i<=2*n-1;i++) printf("#");輸出2(n-1)個#,即是9個#,形成第五行
之後換行,主函數結束

⑷ C語言圖形編程

數組的調用,給你一例子:
傳一維數組和二維數組的:
#include<iostream>
using namespace std;

int* min(int*array,int*s) //傳一維數組和二維數組
{
for(int i=0;i<5;i++)
{
for(int j=5*i;j<5*i+4;j++)
{
if(array[j]<array[j+1])
{
int temp;
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
s[i]=array[j];
}
return s;
}

void main()
{

int a[5][5]={{1,2,3,4,5},{6,7,8,9,1},{6,5,7,6,4},{6,7,8,6,6},{9,7,3,5,4}};
int b[5];
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
cout<<a[i][j];
}
cout<<endl;
}
int*ss=min((int*)a,b);
cout<<"各行的最小值分別是:"<<endl;
for(int k=0;k<5;k++)
{
cout<<ss[k]<<',';
}
cout<<endl;
}

只有在主函數中創建數組,在將指向數組的指針傳給函數,返回值才能體現全部數組的變化。

如果在函數中創建數組再返回給主函數的話,只能得到數組的第一個值。

⑸ 如何用c語言作出有圖形界面的小程序

那需要學VC。確切的說是要學MFC。
MFC編圖形化程序也是很麻煩的,難學,繁瑣。
其實你可以再學Java或者C#。
Java本身也不適合做圖形化應用程序,但是比MFC要簡單得多。
C#則是當前做圖形化程序最簡單高效的了,不需要編程單靠滑鼠拖拽就能做出圖形界面。特別是C#的WPF圖形框架更是把圖形化編程簡化到了極限。
所以強烈建議學C#。
C#語言綜合Java和C++的優點。Java和C++都源自C語言。所以學C#之前最好先學一下C++,C、C++、C#可以說是一脈相承,向下兼容的。

總之,學圖形化編程比較好的順序是:
C(結構化語言,入門)-> C++(面向對象語言,鋪墊) -> C# (享受快速圖形化開發吧)

忘解釋那幾個名詞了,補上:

集成開發環境:就是IDE,一類開發工具。
你的代碼本來可以直接在記事本里寫完,然後命令行下調用編譯器編譯就能執行了。
集成開發環境將代碼編輯、代碼編譯執行、代碼調試功能集成在一起(甚至集成更多功能),使開發人員的開發變得更加高效。比如Visual C++ 6.0就是一個集成開發環境,還有Eclipse、CodeBlocks、Visual Studio等都是。

圖形API:進行圖形化編程的應用程序編程介面(application programming interface:API)
你的程序通過調用這些介面來直接生成標準的圖形控制項,比如按鈕、文本框之類的,不需要你手動寫實現這些控制項的方法,只需要調用圖形化API的方法就能自動生成。這些API都是將有關圖形化的具體實現類封裝在類庫中向開發者提供,簡化圖形化開發。MFC就是為C和C++提供的圖形化API,確切的說是Windows系統的圖形化API。而WinForm和WPF就是為C#提供的圖形化API。這些API都是微軟提供的。當然Linux等其他系統有自己的圖形化API。

GUI:圖形用戶介面(Graphical User Interface)
這個其實就是應用程序界面的意思。命令行下輸入命令的方式來進行操作那叫命令行介面,有了應用程序界面後,可以通過滑鼠進行操作。這些界面就是GUI了。由於圖形界面只是方便用戶操作,具體的內部實現還是命令行方式完成的,因此稱界面為介面。

⑹ C語言 畫圖形

initgraph(&gdriver, &gmode, "c:\\tc");
這句c:\\tc 是指向圖形驅動所在位置的,如果你TC安裝在c盤跟目錄下才這樣寫,否則需要自己改路徑。
還有bar3d這個函數參數不對
函數名: bar3d
功 能: 畫一個三維條形圖
用 法: void far bar3d(int left, int top, int right, int bottom,
int depth, int topflag);
要6個參數

⑺ c語言圖形編程

我試了一下,發現兩個問題
第一個呢是我個人機器上的devcpp沒有graphics.h文件,自然也沒有對應的庫。這個會報DETECT未定義。
第二個呢,"C:\Program Files\WINYES\TC20H\BGI"這里,斜杠都要寫成雙斜杠。這應該是你的問題所在了~
希望有幫助

⑻ 高手進:如何在WINDOWS下用C語言編寫圖形函數

1、圖形編程都是用的純C函數庫,
比如Windows的GDI,還有DirectX,以及開源的OpenGL。這些都是純C庫,也就是說會C語言就能開發圖形界面和游戲了。C++當然也可以調用這些函數庫,但不是必要的。
2、學GDI的話最好的書是《Windows程序設計.chm》這個文檔,這東西網上到處都有。
學OpenGL的話,有個網站Nehe有完整的教學。人翻譯了這個教程的中文版,google
「Nehe
opengl」
就能找到了。

⑼ C語言圖形解析

struct fillsettingstype save;gdriver=DETECT; //?(DETECT是什麼意識)
initgraph用到gdriver變數,意思是,自己在當前目錄下找圖形驅動程序。
initgraph(&gdriver,&gmode,"c:\\tc"); //? 初始化圖形驅動程序

cleardevice(); //? 清屏
setcolor是設定前景色啊
closegraph(); //? 是退出圖形模式
getch(); //? 讓你輸入一個字元,
setfillpattern(str, RED); //? 設定填充模式,你不是畫條形圖了嗎。

⑽ C語言圖形處理代碼解釋

解釋什麼? 很清楚啊!