'C語言——圖形庫'

C語言 圖像處理 C程序員的進階之路 2019-08-06
"

常用的圖形庫函數:

1.圖形化環境:

可在"EssyX_Help.chm"幫助文檔中"繪圖環境相關函數"中查看.

#include <esayx.h> // 頭文件.

HWND initgraph(int width, int height, int flag = NULL); // 初始化圖形環境,設置圖形終端的大小.

參數 : width : 實參傳遞的是窗口的寬度,單位是像素.

height : 實參傳遞的是窗口的高度,單位是像素.

flag : 默認填NULL,根據需要會有修改.

返回值: 創建的繪圖窗口的句柄,不做了解.

void closegraph(); // 關閉圖形環境.

2.通過學習畫圓的幾個函數,初步認識圖形庫:

可在"EssyX_Help.chm"幫助文檔中"圖形繪製相關函數"中查看.

#include <easyx.h>

void circle (int x, int y, int radius); // 畫圓

void fillcircle (int x, int y, int radius); // 畫填充圓(有邊框)

void solidcircle (int x, int y, int radius); // 畫填充圓(無邊框)

參數: x : 傳遞的實參是圓心橫座標,單位像素.

y : 傳遞的實參是圓心縱座標(往下),單位像素.

radius : 傳遞的實參是圓的半徑,單位像素.

3.設置線條及填充部分顏色:

可在"EssyX_Help.chm"幫助文檔中"圖形顏色及樣式設置相關函數"中查看.

#include <easyx.h>

void setlinecolor(COLORREF color); // 設置當前線條顏色

void setfillcolor(COLORREF color); // 設置當前填充顏色

void settextcolor(COLORREF color); // 設置當前文字顏色

參數 : solor : 實參傳遞的是預定義顏色常量.常量值在"幫助文檔"中"基本概念"的"顏色"中查找.

4.圖像處理函數:

可在"EssyX_Help.chm"幫助文檔中"圖像處理相關函數"中查看.

1.從資源文件獲取圖像(bmp/gif/jpg/png/tif/emf/wmf/ico) : 需將圖片加載進入資源文件中.

#include <easyx.h>

void loadimage(IMAGE *pDstImg,LPCTSTR pResType,LPCTSTR pResName,int nWidth = 0,int nHeight = 0,bool bResize = false);

參數 : pDstImg : IMAGE對象指針變量.

使用方法: 定義一個IMAGE對象變量"IMAGE img;"然後對img取地址(&img)作為實參傳遞.

pResType : 資源類型(L"圖片的大寫後綴").

pResName : 資源名稱.使用MAKEINTRESOURCE(IDB_PLAYER)進行傳參.

nWidth : 圖片拉伸寬度.

nHeight : 圖片拉伸高度.

bResize : 是否調整IAMGE的大小以適應圖片.false表示"否",true表示"是".

2.繪製圖像:

#include <easyx.h>

void putimage(int dstX, int dstY, const IMAGE *pSrcImg, DWORD dwRop = SRCCOPY); // 繪製圖像到屏幕

參數: dstX : 實參傳遞的是圖片繪製的起始橫座標.

sdtY : 實參傳遞的是圖片繪製的起始縱座標.

pSrcImg : 圖形對象指針變量.實參傳遞的是一個圖形對象的地址(&img).

dwRop : 一般使用默認值SRCCOPY.

5.文字相關函數:

1.在指定位置輸出字符串

#include <easyx.h>

void outtextxy(int x, int y, LPCTSTR str);

參數: x : 傳遞的實參是字符串輸出的起始橫座標,單位像素.

y : 傳遞的實參是字符串輸出的起始縱座標,單位像素.

str : 要輸出的字符串,用L"****"形式表示.

代碼演示......

2.設置文字輸出時的背景模式.

void setbkmode(int mode);

參數 : mode : OPAQUE : 背景用當前背景色填充.

TRANSPARENT : 背景是透明的.

3.設置字體顏色.

void settextcolor(COLORREF color);

參數 : color : 實參傳遞的是預定義顏色常量.常量值在"幫助文檔"中"基本概念"的"顏色"中查找.

void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace);

4.設置字體樣式:

void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace);

參數 : nHeight : 實參傳遞的是字體的高度.

nWidth : 實參傳遞的是字體的寬度.

lpszFace : 實參傳遞的是字體的名稱,比如 L"楷體".

6.鼠標相關函數:

#include <easyx.h>

MOUSEMSG GetMouseMsg(); //獲取一個鼠標消息,如果當前鼠標消息隊列中沒有,就一直等待.

返回值 : 返回保存有鼠標消息的結構體變量.

結構體變量需要自定義: MOUSEMSG msg;

struct MOUSEMSG

{

UINT uMsg; // 當前鼠標消息

bool mkCtrl; // Ctrl 鍵是否按下

bool mkShift; // Shift 鍵是否按下

bool mkLButton; // 鼠標左鍵是否按下

bool mkMButton; // 鼠標中鍵是否按下

bool mkRButton; // 鼠標右鍵是否按下

int x; // 當前鼠標 x 座標(物理座標)

int y; // 當前鼠標 y 座標(物理座標)

int wheel; // 鼠標滾輪滾動值

};

uMsg:

WM_LBUTTONDOWN 左鍵按下消息

7.播放音樂:mp3格式

#include <mciapi.h>

#pragma comment(lib,"winmm.lib") //添加庫

#define mciSendString mciSendStringW

WINAPI mciSendStringW( _In_ LPCWSTR lpstrCommand,

_Out_writes_opt_(uReturnLength) LPWSTR lpstrReturnString,

_In_ UINT uReturnLength,

_In_opt_ HWND hwndCallback

);

使用方法: mciSendString(L"命令 + mp3格式文件的路徑",0,0,0);

常使用的兩個命令: open, play(repeat).

"

常用的圖形庫函數:

1.圖形化環境:

可在"EssyX_Help.chm"幫助文檔中"繪圖環境相關函數"中查看.

#include <esayx.h> // 頭文件.

HWND initgraph(int width, int height, int flag = NULL); // 初始化圖形環境,設置圖形終端的大小.

參數 : width : 實參傳遞的是窗口的寬度,單位是像素.

height : 實參傳遞的是窗口的高度,單位是像素.

flag : 默認填NULL,根據需要會有修改.

返回值: 創建的繪圖窗口的句柄,不做了解.

void closegraph(); // 關閉圖形環境.

2.通過學習畫圓的幾個函數,初步認識圖形庫:

可在"EssyX_Help.chm"幫助文檔中"圖形繪製相關函數"中查看.

#include <easyx.h>

void circle (int x, int y, int radius); // 畫圓

void fillcircle (int x, int y, int radius); // 畫填充圓(有邊框)

void solidcircle (int x, int y, int radius); // 畫填充圓(無邊框)

參數: x : 傳遞的實參是圓心橫座標,單位像素.

y : 傳遞的實參是圓心縱座標(往下),單位像素.

radius : 傳遞的實參是圓的半徑,單位像素.

3.設置線條及填充部分顏色:

可在"EssyX_Help.chm"幫助文檔中"圖形顏色及樣式設置相關函數"中查看.

#include <easyx.h>

void setlinecolor(COLORREF color); // 設置當前線條顏色

void setfillcolor(COLORREF color); // 設置當前填充顏色

void settextcolor(COLORREF color); // 設置當前文字顏色

參數 : solor : 實參傳遞的是預定義顏色常量.常量值在"幫助文檔"中"基本概念"的"顏色"中查找.

4.圖像處理函數:

可在"EssyX_Help.chm"幫助文檔中"圖像處理相關函數"中查看.

1.從資源文件獲取圖像(bmp/gif/jpg/png/tif/emf/wmf/ico) : 需將圖片加載進入資源文件中.

#include <easyx.h>

void loadimage(IMAGE *pDstImg,LPCTSTR pResType,LPCTSTR pResName,int nWidth = 0,int nHeight = 0,bool bResize = false);

參數 : pDstImg : IMAGE對象指針變量.

使用方法: 定義一個IMAGE對象變量"IMAGE img;"然後對img取地址(&img)作為實參傳遞.

pResType : 資源類型(L"圖片的大寫後綴").

pResName : 資源名稱.使用MAKEINTRESOURCE(IDB_PLAYER)進行傳參.

nWidth : 圖片拉伸寬度.

nHeight : 圖片拉伸高度.

bResize : 是否調整IAMGE的大小以適應圖片.false表示"否",true表示"是".

2.繪製圖像:

#include <easyx.h>

void putimage(int dstX, int dstY, const IMAGE *pSrcImg, DWORD dwRop = SRCCOPY); // 繪製圖像到屏幕

參數: dstX : 實參傳遞的是圖片繪製的起始橫座標.

sdtY : 實參傳遞的是圖片繪製的起始縱座標.

pSrcImg : 圖形對象指針變量.實參傳遞的是一個圖形對象的地址(&img).

dwRop : 一般使用默認值SRCCOPY.

5.文字相關函數:

1.在指定位置輸出字符串

#include <easyx.h>

void outtextxy(int x, int y, LPCTSTR str);

參數: x : 傳遞的實參是字符串輸出的起始橫座標,單位像素.

y : 傳遞的實參是字符串輸出的起始縱座標,單位像素.

str : 要輸出的字符串,用L"****"形式表示.

代碼演示......

2.設置文字輸出時的背景模式.

void setbkmode(int mode);

參數 : mode : OPAQUE : 背景用當前背景色填充.

TRANSPARENT : 背景是透明的.

3.設置字體顏色.

void settextcolor(COLORREF color);

參數 : color : 實參傳遞的是預定義顏色常量.常量值在"幫助文檔"中"基本概念"的"顏色"中查找.

void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace);

4.設置字體樣式:

void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace);

參數 : nHeight : 實參傳遞的是字體的高度.

nWidth : 實參傳遞的是字體的寬度.

lpszFace : 實參傳遞的是字體的名稱,比如 L"楷體".

6.鼠標相關函數:

#include <easyx.h>

MOUSEMSG GetMouseMsg(); //獲取一個鼠標消息,如果當前鼠標消息隊列中沒有,就一直等待.

返回值 : 返回保存有鼠標消息的結構體變量.

結構體變量需要自定義: MOUSEMSG msg;

struct MOUSEMSG

{

UINT uMsg; // 當前鼠標消息

bool mkCtrl; // Ctrl 鍵是否按下

bool mkShift; // Shift 鍵是否按下

bool mkLButton; // 鼠標左鍵是否按下

bool mkMButton; // 鼠標中鍵是否按下

bool mkRButton; // 鼠標右鍵是否按下

int x; // 當前鼠標 x 座標(物理座標)

int y; // 當前鼠標 y 座標(物理座標)

int wheel; // 鼠標滾輪滾動值

};

uMsg:

WM_LBUTTONDOWN 左鍵按下消息

7.播放音樂:mp3格式

#include <mciapi.h>

#pragma comment(lib,"winmm.lib") //添加庫

#define mciSendString mciSendStringW

WINAPI mciSendStringW( _In_ LPCWSTR lpstrCommand,

_Out_writes_opt_(uReturnLength) LPWSTR lpstrReturnString,

_In_ UINT uReturnLength,

_In_opt_ HWND hwndCallback

);

使用方法: mciSendString(L"命令 + mp3格式文件的路徑",0,0,0);

常使用的兩個命令: open, play(repeat).

C語言——圖形庫

看到這裡相信很多學C的朋友對C的指針有了進一步瞭解,我自己便是一名學習了多年的C/C++的老程序員,今年我回顧以往的經歷,花了一個多月的時間整理了一套最適合2019小白學習的資料,從基礎語法到實戰項目,現在準備送給每一位C/C++的小夥伴,如果想要獲得的話可以關注我並且私信我:"學習",即可免費獲取資料。歡迎各位來C/C++哦!

"

相關推薦

推薦中...