當前位置:首頁 » 編程語言 » c語言不用庫函數可以寫圖形嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言不用庫函數可以寫圖形嗎

發布時間: 2023-03-30 08:43:13

A. 現在用c語言編寫圖形界面程序(軟體)都用什麼編譯環境(工具)

在Windows 操作系統中編寫圖形用戶界面,一般都用 Visual C++(包括 Visual Studio 中的 Visual C++)。如果像樓主所說的,要用C語言,那隻能用 Windows API 函數了。如果還允許C++語言,那麼還可以用MFC(當然也可以用 Windows API 函數)。
當然,也可以不用微軟的庫,比如說用Qt之類的庫。

==========================================================

在Linux操作系統中編寫圖形用戶界面,就用gcc編譯器加上Xlib庫或者gtk庫或者Qt庫。如果允許使用C++語言,那可以用g++編譯器,上面三個庫都可以用,另外還可以用wxWidgets庫。

B. 不用庫,如何用C語言畫畫圓/橢圓幾何圖形

我只能這樣告李腔祥訴你
用*圍成哪搏圓芹圓形橢圓形
不用庫,就自己編個庫(但是程序員都不一定能編出來)

C. C語言游戲程序,要求不使用任何輔助庫函數例如graphics.h等,來寫一個程序,因為要在Minix這個最簡單的操

很簡單。那你就用控制台,編寫字元輸入響應的程序就是了。

不一定要用圖形界面的。用字元屏幕也行。printf和scanf的組合就能完成。

你想要什麼界面就用printf,輸出就是了。

//還有一種方法,就是直接寫顯存。這種方法不用graphics頭文件。但你要弄清楚這個操作系統的顯存起始地址,並且算好要寫的地址偏移,所有的顏色什麼的全用二進制或者16進制的編碼賦值,所有的畫圖,全用對應的畫點演算法畫出,動畫效果採用類似楨切換的方式進行(寫好一楨的顯存,替換掉原來的顯存內容)。這種做法咋一看根本就不是什麼畫圖,但實質卻是效率最高的畫圖。 這種做法對C語言的編程技能要求比較高。

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

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

E. C語言必須包含庫函數對不對,為什麼

不對,一些非常簡單的程序不用庫函數也可以通過編譯,庫函數也是函數,沒用到自然不用包含

F. C語言圖形界面怎麼做出來

這是最簡單的界面程序://c++.cpp:定義應用程序的入口點。

//

#include"stdafx.h"

#include"c++.h"

#defineMAX_LOADSTRING100

//全局變數:

HINSTANCEhInst; //當前實例

TCHARszTitle[MAX_LOADSTRING]; //標題欄文本

TCHARszWindowClass[MAX_LOADSTRING]; //主窗口類名

//此代碼模塊中包含的函數的前向聲明:

ATOM MyRegisterClass(HINSTANCEhInstance);

BOOL InitInstance(HINSTANCE,int);

LRESULTCALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

INT_PTRCALLBACK About(HWND,UINT,WPARAM,LPARAM);

intAPIENTRY_tWinMain(HINSTANCEhInstance,

HINSTANCEhPrevInstance,

LPTSTRlpCmdLine,

intnCmdShow)

{

UNREFERENCED_PARAMETER(hPrevInstance);

UNREFERENCED_PARAMETER(lpCmdLine);

//TODO:在此放置代碼。

MSGmsg;

HACCELhAccelTable;

//初始化全局字元串

LoadString(hInstance,IDS_APP_TITLE,szTitle,MAX_LOADSTRING);

LoadString(hInstance,IDC_C,szWindowClass,MAX_LOADSTRING);

MyRegisterClass(hInstance);

//執行應用程序初始化:

if(!InitInstance(hInstance,nCmdShow))

{

returnFALSE;

}

hAccelTable=LoadAccelerators(hInstance,MAKEINTRESOURCE(IDC_C));

//主消息循環:

while(GetMessage(&msg,NULL,0,0))

{

if(!TranslateAccelerator(msg.hwnd,hAccelTable,&msg))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

}

return(int)msg.wParam;

}

//

//函數:MyRegisterClass()

//

//目的:注冊窗口類。

//

//注釋:

//

//僅當希望

//此代碼與添加到Windows95中的「RegisterClassEx」

//函數之前的Win32系統兼容時,才需要此函數及其用法。調用此函數十分重要,

//這樣應用程序就可以獲得關聯的

//「格式正確的」小圖標。

//

ATOMMyRegisterClass(HINSTANCEhInstance)

{

WNDCLASSEXwcex;

wcex.cbSize=sizeof(WNDCLASSEX);

wcex.style =CS_HREDRAW|CS_VREDRAW;

wcex.lpfnWndProc =WndProc;

wcex.cbClsExtra =0;

wcex.cbWndExtra =0;

wcex.hInstance =hInstance;

wcex.hIcon =LoadIcon(hInstance,MAKEINTRESOURCE(IDI_C));

wcex.hCursor =LoadCursor(NULL,IDC_ARROW);

wcex.hbrBackground =(HBRUSH)(COLOR_WINDOW+1);

wcex.lpszMenuName =MAKEINTRESOURCE(IDC_C);

wcex.lpszClassName =szWindowClass;

wcex.hIconSm =LoadIcon(wcex.hInstance,MAKEINTRESOURCE(IDI_SMALL));

returnRegisterClassEx(&wcex);

}

//

//函數:InitInstance(HINSTANCE,int)

//

//目的:保存實例句柄並創建主窗口

//

//注釋:

//

//在此函數中,我們在全局變數中保存實例句柄並

//創建和顯示主程序窗口。

//

BOOLInitInstance(HINSTANCEhInstance,intnCmdShow)

{

HWNDhWnd;

hInst=hInstance;//將實例句柄存儲在全局變數中

hWnd=CreateWindow(szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);

if(!hWnd)

{

returnFALSE;

}

ShowWindow(hWnd,nCmdShow);

UpdateWindow(hWnd);

returnTRUE;

}

//

//函數:WndProc(HWND,UINT,WPARAM,LPARAM)

//

//目的:處理主窗口的消息。

//

//WM_COMMAND -處理應用程序菜單

//WM_PAINT -繪制主窗口

//WM_DESTROY -發送退出消息並返回

//

//

LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam)

{

intwmId,wmEvent;

PAINTSTRUCTps;

HDChdc;

switch(message)

{

caseWM_COMMAND:

wmId=LOWORD(wParam);

wmEvent=HIWORD(wParam);

//分析菜單選擇:

switch(wmId)

{

caseIDM_ABOUT:

DialogBox(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),hWnd,About);

break;

caseIDM_EXIT:

DestroyWindow(hWnd);

break;

default:

returnDefWindowProc(hWnd,message,wParam,lParam);

}

break;

caseWM_PAINT:

hdc=BeginPaint(hWnd,&ps);

//TODO:在此添加任意繪圖代碼...

EndPaint(hWnd,&ps);

break;

caseWM_DESTROY:

PostQuitMessage(0);

break;

default:

returnDefWindowProc(hWnd,message,wParam,lParam);

}

return0;

}

//「關於」框的消息處理程序。

INT_PTRCALLBACKAbout(HWNDhDlg,UINTmessage,WPARAMwParam,LPARAMlParam)

{

UNREFERENCED_PARAMETER(lParam);

switch(message)

{

caseWM_INITDIALOG:

return(INT_PTR)TRUE;

caseWM_COMMAND:

if(LOWORD(wParam)==IDOK||LOWORD(wParam)==IDCANCEL)

{

EndDialog(hDlg,LOWORD(wParam));

return(INT_PTR)TRUE;

}

break;

}

return(INT_PTR)FALSE;

}

G. 弱弱的問句:C語言能進行圖形界面(GUI)開發嗎

可以的 我現在就在用呢

1.可以用 winC ,就是直接在windows下編程。這個比較麻煩,因為所有的東西都必須自己寫(如創建窗口,初始化等一些基本的)以前老師上課的時候講過,理解了之後,感覺其實很簡單,而且都是一個套路,看個例子就能明白的

2.可以用MFC創建界面,裡面要具體實現的東西,直接用C語言寫就可以了,很方便,其實MFC就是對winC的一種封裝,就是第一點說的你要寫的那些基本的東西(創建窗口,初始化之類的),他都給你弄好了,不用自己寫,直接創建一個工程就OK了

3.可以創建C#工程,用C#創建界面(直接拖控制項就行,像VB那樣),然後,你要實現的東西用C語言寫。或者,你先將要實現的東西,用C語言寫好,編譯成動態鏈接庫DLL,然後在C#工程中調用該DLL。C#工程實際上就起到一個界面封裝的目的,也比較方便

個人建議用 MFC

H. C語言中的圖形函數是必須學的嗎

你好!

不是必需的!

標准C語言裡面並不包括圖形庫,如果要用C語言編寫圖形程序的話,就需要支持這些函數的第三方庫。

我們常辯或局用的
C語言圖形函數
一般包含在
<graphics.h>
頭文件中。是由TC編譯環境支持的。

這個編譯器,團逗以及<graphics.h>圖形庫文件是由Borland公司開發的攜讓。

不過使用C做圖形的話很復雜,而且界面做的也不是太好。這個我親身體驗過!

建議LZ使用C++的第三方公共圖形介面來做圖形,比如OPENCL和Direcit
x,這些是當前的主流。

其他的,比如鍵盤、滑鼠、聲音等,雖然C語言也可以做,但對於這些比較靠近底層的東西,建議還是多看看windows
的API函數。

I. C語言可以做成圖形界面嗎

C語言可以做圖形界面。
C語言中要做圖形見面,首先需要設置為圖形模式,確定顯卡類型,對屏幕進行初始化等等。相關的函數如下:
1. detectgraph() 顯示卡檢測函數
2. initgraph() 圖形初始化函數
3. getdrivername() 獲取圖形驅動程序名的指針
4. getgraphmode() 獲取圖形模式函數
5. getmoderange()獲取模式值范圍函數
6. getmaxmode()獲取最大顯示模式函數
7. getmodename()獲取顯示模式名函數
8. graphdefaults()圖形設置復位預設值函數
9. setgraphmode() 設置圖形模式函數
10. restorecrtmode() 恢復文本顯示模式函數
11. graphresult() 圖形操作結果函數
12. grpaherrormsg() 圖形錯誤信息函數
13. setgraphbufsize()設置圖形緩沖區大小函數
14. setactivepage() 設置可輸出顯示頁函數
15. setvisualpage() 設置可見顯示頁數
16. closegraph()關閉圖形模式函數
希望以上回答對你有幫助,謝謝。

J. C語言中的圖形函數是必須學的嗎

你好!不是必需的!標准C語言裡面並不包括圖形庫,如果要用C語鍵前言編寫圖形程序的話,就需要支持這些函數的第三方庫。我們常用的C語言圖形函數一般包含在<graphics.h>頭文件中。是由TC編譯環境支持的。這個編譯器,以及<graphics.h>圖形庫文件是由Borland公司開發橋亮納的。不過使用C做圖形的話很復雜,而且界面做的也不是太好。這個我親身體驗過!建議LZ使用C++的第三方公共圖形介面來做圖形,比如OPENCL和Direcit x,這些是當前的主流。其他的,比如鍵盤、滑鼠、聲音等,雖然C語言也可以做,敏沒但對於這些比較靠近底層的東西,建議還是多看看windows 的API函數。