真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語(yǔ)言函數(shù)圖像處理 c語(yǔ)言中圖形函數(shù)及其用法

c語(yǔ)言圖像處理

c語(yǔ)言不自帶圖形處理方面的東西。TC特有的頭文件graphics.h,其他編譯環(huán)境都用不了,可移植性是零。而且TC實(shí)在太老,與現(xiàn)在c語(yǔ)言標(biāo)準(zhǔn)差距非常大?;臼菬o(wú)法運(yùn)行現(xiàn)在的代碼。所以不太建議你用它。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供嵐皋網(wǎng)站建設(shè)、嵐皋做網(wǎng)站、嵐皋網(wǎng)站設(shè)計(jì)、嵐皋網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、嵐皋企業(yè)網(wǎng)站模板建站服務(wù),10余年嵐皋做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

非要用純c,可以自己寫函數(shù)調(diào)用Windows?AP和GUI接口。而且需要包含windows.h頭文件。

網(wǎng)上有個(gè)大神用c—free寫的代碼在附件里。

/*

純C通過(guò)?Windows?API?編寫的基本?Windows?圖形界面

整理加原創(chuàng),基本上每一句代碼都有注釋

通過(guò)?C-Free?3.5編譯

*/

#include?string.h?????????//這個(gè)頭文件在擴(kuò)展名為.c時(shí)是不需要加的

#include?windows.h????????//windows?api必須包含的頭文件

LRESULT?CALLBACK?WndProc(HWND,UINT,WPARAM,LPARAM);??????//窗口函數(shù)的前向聲明

//參數(shù)說(shuō)明:

//HINSTANCE?hInstance???當(dāng)前實(shí)例句柄

//HINSTANCE?hPrevInstance???以前版本的遺留產(chǎn)物,現(xiàn)在總是置為?NULL

//LPSTR?lpCmdLine???????命令行的產(chǎn)生,可以從開(kāi)始-獲得程序運(yùn)行的參數(shù),由此傳入

//int?nCmdShow??????程序最初的顯示模式,正常,最大化或最小化

//主函數(shù)的入口是WinMain,?類型為int

//WINAPI標(biāo)志是一種特定的調(diào)用,?它定義了一種生成機(jī)器代碼和放置函數(shù)參數(shù)的方式

int?WINAPI?WinMain(HINSTANCE?hInstance,HINSTANCE?hPrevInstance,LPSTR?lpcmdLine,int?nCmdShow)

{

//TCHAR,?TEXT都是統(tǒng)一單字節(jié)和雙字節(jié)字符的類型,?建議使用

static?TCHAR?szAppName[]?=?TEXT("MyFirstWindows");

static?TCHAR?szClassName[]?=?TEXT("MFWClass");

HWND?hwnd;???????//一定一個(gè)窗口句柄

MSG?msg;????????//定義一個(gè)消息結(jié)構(gòu)體

WNDCLASS?wndclass;??????//定義一個(gè)?WNDCLASS?結(jié)構(gòu)用于注冊(cè)窗口

wndclass.style?=?CS_HREDRAW?|?CS_VREDRAW;???????//窗口類的類風(fēng)格,每當(dāng)水平和垂直大小改變時(shí)完全刷新窗口

wndclass.lpfnWndProc?=?WndProc;?????//此窗口類所使用的窗口函數(shù)的入口地址

wndclass.cbClsExtra?=?0;????????//用于在類結(jié)構(gòu)中預(yù)留一些額外的空間

wndclass.cbWndExtra?=?0;????????//用于在windows內(nèi)部保存的窗口結(jié)構(gòu)中預(yù)留一些額外的空間

wndclass.hInstance?=?hInstance;?????//指定所在程序的實(shí)例句柄

wndclass.hIcon?=?LoadIcon(NULL,IDI_APPLICATION);????????//定制圖標(biāo)

wndclass.hCursor?=?LoadCursor(NULL,IDC_ARROW);??????//定制鼠標(biāo)圖形

wndclass.hbrBackground?=?(HBRUSH)GetStockObject(GRAY_BRUSH);????????//定義背景顏色

wndclass.lpszMenuName?=?NULL;???????//指定窗口類的菜單

wndclass.lpszClassName?=szClassName;????????//指定窗口類的類名

//注冊(cè)窗口,參數(shù)為指向?WNDCLASS?結(jié)構(gòu)的指針

//如果注冊(cè)不成功,則彈出一個(gè)對(duì)話框說(shuō)明情況

//MessageBox是僅有的可以在舊版本和新版本windows都可以運(yùn)行的對(duì)話框

if(!RegisterClass(wndclass))

{

MessageBox(NULL,TEXT("This?program?requires?Windows?NT?or?above!"),szAppName,MB_ICONERROR);

return?0;

}

//創(chuàng)建窗口

hwnd?=?CreateWindow(

szClassName,????????//窗口類的名稱

TEXT("Title:My?First?Windows?Program.?這里是標(biāo)題"),?????//窗口標(biāo)題

//WS_OVERLAPPEDWINDOW,???//窗口顯示風(fēng)格,這行實(shí)際是一個(gè)預(yù)定義,相當(dāng)于下面的集合,可以單獨(dú)設(shè)置

WS_OVERLAPPED?|?WS_CAPTION?|?WS_SYSMENU?|?WS_THICKFRAME?|?WS_MINIMIZEBOX?|?WS_MAXIMIZEBOX,

CW_USEDEFAULT,??????//初始?x?方向的位置

CW_USEDEFAULT,??????//初始?y?方向的位置

CW_USEDEFAULT,??????//初始?x?方向的大小

CW_USEDEFAULT,??????//初始?y?方向的大小

NULL,???????//父窗口句柄

NULL,???????//菜單句柄

hInstance,??????//程序?qū)嵗浔?/p>

NULL????);??????//創(chuàng)建參數(shù)

//顯示窗口,第一個(gè)參數(shù)?hwnd?是?CreateWindow?所創(chuàng)建的窗口的句柄

//第二個(gè)參數(shù)?nCmdShow?是主函數(shù)給的,由快捷方式獲得

ShowWindow(hwnd,nCmdShow);

//刷新窗口,給窗口函數(shù),在本程序中即?WndProc?發(fā)送一個(gè)?WM_PAINT

UpdateWindow(hwnd);

//消息循環(huán)

while(GetMessage(msg,NULL,0,0))????????//接受自己創(chuàng)建的所有窗口的所有消息

{

TranslateMessage(msg);?????//將?msg?結(jié)構(gòu)體傳給windows以進(jìn)行一些鍵盤轉(zhuǎn)換,?即將擊鍵消息轉(zhuǎn)換為字符消息

DispatchMessage(msg);??????//再次將?msg?結(jié)構(gòu)體傳給windows,由windows將該消息發(fā)送給適當(dāng)?shù)拇翱诤瘮?shù)

}

return?(int)msg.wParam;

}

//窗口函數(shù)

//參數(shù)說(shuō)明:

//HWND?hwnd,?接受消息的窗口句柄,由CreateWindow函數(shù)返回

//UINT?message,?消息標(biāo)志符,用以標(biāo)識(shí)消息,每個(gè)消息均有一個(gè)唯一對(duì)應(yīng)的消息標(biāo)識(shí)符

//WPARAM?wParam,?是?WORD?PARAM?的意思,一個(gè)32位的消息參數(shù),其含義和數(shù)值根據(jù)消息的不同而不同

//LPARAM?lParam,?是?LONG?PARAM?的意思,一個(gè)32位的消息參數(shù),其值和消息有關(guān)

//CALLBACK函數(shù)指由程序員定義,編程實(shí)現(xiàn),而由windows系統(tǒng)調(diào)用的函數(shù)

LRESULT?CALLBACK?WndProc(HWND?hwnd,UINT?message,WPARAM?wParam,LPARAM?lParam)

{

HDC?hdc;????????//定義一個(gè)設(shè)備描述表句柄結(jié)構(gòu)體

//定義一個(gè)?PAINTSTRUCT?的繪制信息結(jié)構(gòu)體,

//其包含了包含了當(dāng)前無(wú)效矩形區(qū)域的坐標(biāo)和其他信息,用于刷新用戶區(qū)的內(nèi)容

PAINTSTRUCT?ps;

RECT?rect;??????//定義一個(gè)?RECT?結(jié)構(gòu)體,其有l(wèi)eft,top,right,bottom?四個(gè)域

//處理傳進(jìn)的各種消息

switch(message)

{

//窗口創(chuàng)建

case?WM_CREATE:?MessageBox(NULL,"MessageContent?:?This?is?WM_CREATE,這是?WM_CREATE。",

"MessageTiTle?這是對(duì)話框的標(biāo)題",MB_OK);

return?0;

//窗口繪制

case?WM_PAINT:??hdc?=?BeginPaint(hwnd,ps);?????//由BeginPaint開(kāi)始,返回設(shè)備描述表以開(kāi)始繪圖

GetClientRect(hwnd,rect);??????//獲取用戶區(qū)域的大小

//格式話文本輸出

DrawText(hdc,TEXT("WindowsContent?:?I?am?a?developer.?我為計(jì)算機(jī)而生。"),

-1,rect,DT_SINGLELINE?|?DT_CENTER?|?DT_VCENTER);

EndPaint(hwnd,ps);?????//以EndPaint結(jié)束,釋放設(shè)備描述表句柄

return?0;

//窗口消亡

case?WM_DESTROY:?MessageBox(NULL,"MessageContent?:?This?is?WM_DESTROY,這是?WM_DESTROY。",

"MessageTiTle?這是對(duì)話框的標(biāo)題",MB_OK);

PostQuitMessage(0);

return?0;

}

//凡是窗口函數(shù)不予處理的消息應(yīng)交由windows默認(rèn)消息處理函數(shù)DefWindowProc處理

return?DefWindowProc(hwnd,message,wParam,lParam);

}

c語(yǔ)言圖像處理函數(shù)

是處理2色值問(wèn)題的程序嗎?

我也有和你一樣的苦衷啊。。。。。。。

呵呵。。

C語(yǔ)言中,圖像處理函數(shù)的使用

Tc中用initgraph()函數(shù)可以切換到圖形模式,用closegraph()可以從圖形模式切換回字符模式。

initgraph()和closegraph()都是圖形函數(shù),使用圖形函數(shù)必須包括頭文件"graphics.h"。

void far i nitgraph(int far *graphdriver, int far *graphmode,char far *pathtodriver);

graphdriver是指向圖形驅(qū)動(dòng)序號(hào)變量的指針,

graphmode是在graphdriver選定后,指向圖形顯示模式序號(hào)變量的指針,

pathtodriver表示存放圖形驅(qū)動(dòng)文件的路徑。

圖形驅(qū)動(dòng)序號(hào)不同,圖形驅(qū)動(dòng)文件也不同。序號(hào)為VGA圖形驅(qū)動(dòng)對(duì)應(yīng)"egavga.bgi"這個(gè)圖形驅(qū)動(dòng)文件。

"egavga.bgi"一般在 Tc目錄下

例如:

-------

#include graphics.h

int Drive,Mode=DETECT;

initgraph(Drive,Mode,""); //圖形顯示器、顯示模式、路徑自動(dòng)檢測(cè)

運(yùn)行時(shí)需要在當(dāng)前目錄下存在 EGAVGA.BGI文件

在TC\BGI目錄底下

-------

如果編譯后的.exe文件在另外一個(gè)目錄(如編譯后的.exe文件在D:\MyTc 目錄下,而編譯器的程序和.BGI文件在C:\Turboc\bin 目錄下,則需要填上BGI文件的路徑

例如:

initgraph(Drive,Mode,"C:\\Turboc\\bgi");


網(wǎng)站標(biāo)題:c語(yǔ)言函數(shù)圖像處理 c語(yǔ)言中圖形函數(shù)及其用法
網(wǎng)頁(yè)URL:http://weahome.cn/article/ddseece.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部