1. 程式人生 > 其它 >關於<graphics.h>的標頭檔案

關於<graphics.h>的標頭檔案

技術標籤:C語言c++c語言

關於<graphics.h>的標頭檔案如下

/******************************************************
 * EasyX Library for C++ (Ver:20200902)
 * https://easyx.cn
 *
 * graphics.h
 *		Based on easyx.h and retaining several old API.
 ******************************************************/

#pragma once

#include
<easyx.h>
// 相容 initgraph 繪圖模式的巨集定義(無實際意義) #define DETECT 0 #define VGA 0 #define VGALO 0 #define VGAMED 0 #define VGAHI 0 #define CGA 0 #define CGAC0 0 #define CGAC1 0 #define CGAC2 0 #define CGAC3 0 #define CGAHI 0 #define EGA 0 #define EGALO 0 #define EGAHI 0 // 繪圖視窗初始化引數(已廢棄,請使用新的巨集定義) #define SHOWCONSOLE 1
// 建立圖形視窗時,保留控制檯的顯示 #define NOCLOSE 2 // 沒有關閉功能 #define NOMINIMIZE 4 // 沒有最小化功能 // BGI 格式的初始化圖形裝置,預設 640 x 480 HWND initgraph(int* gdriver, int* gmode, char* path); void bar(int left, int top, int right, int bottom); // 畫無邊框填充矩形 void bar3d(int left, int top, int right, int bottom, int depth, bool topflag)
; // 畫有邊框三維填充矩形 void drawpoly(int numpoints, const int *polypoints); // 畫多邊形 void fillpoly(int numpoints, const int *polypoints); // 畫填充的多邊形 int getmaxx(); // 獲取最大的寬度值 int getmaxy(); // 獲取最大的高度值 COLORREF getcolor(); // 獲取當前繪圖前景色 void setcolor(COLORREF color); // 設定當前繪圖前景色 void setwritemode(int mode); // 設定前景的二元光柵操作模式 /// // 以下函式僅為相容早期 EasyX 的介面,不建議使用。請使用相關新函式替換。 // #if _MSC_VER > 1200 #define _EASYX_DEPRECATE(_NewFunc) __declspec(deprecated("This function is deprecated. Instead, use this new function: " #_NewFunc ". See https://docs.easyx.cn/#" #_NewFunc " for details.")) #define _EASYX_DEPRECATE_OVERLOAD(_Func) __declspec(deprecated("This overload is deprecated. See https://docs.easyx.cn/#" #_Func " for details.")) #else #define _EASYX_DEPRECATE(_NewFunc) #define _EASYX_DEPRECATE_OVERLOAD(_Func) #endif // 設定當前字型樣式(該函式已不再使用,請使用 settextstyle 代替) // nHeight: 字元的平均高度; // nWidth: 字元的平均寬度(0 表示自適應); // lpszFace: 字型名稱; // nEscapement: 字串的書寫角度(單位 0.1 度); // nOrientation: 每個字元的書寫角度(單位 0.1 度); // nWeight: 字元的筆畫粗細(0 表示預設粗細); // bItalic: 是否斜體; // bUnderline: 是否下劃線; // bStrikeOut: 是否刪除線; // fbCharSet: 指定字符集; // fbOutPrecision: 指定文字的輸出精度; // fbClipPrecision: 指定文字的剪輯精度; // fbQuality: 指定文字的輸出質量; // fbPitchAndFamily: 指定以常規方式描述字型的字體系列。 _EASYX_DEPRECATE(settextstyle) void setfont(int nHeight, int nWidth, LPCTSTR lpszFace); _EASYX_DEPRECATE(settextstyle) void setfont(int nHeight, int nWidth, LPCTSTR lpszFace, int nEscapement, int nOrientation, int nWeight, bool bItalic, bool bUnderline, bool bStrikeOut); _EASYX_DEPRECATE(settextstyle) void setfont(int nHeight, int nWidth, LPCTSTR lpszFace, int nEscapement, int nOrientation, int nWeight, bool bItalic, bool bUnderline, bool bStrikeOut, BYTE fbCharSet, BYTE fbOutPrecision, BYTE fbClipPrecision, BYTE fbQuality, BYTE fbPitchAndFamily); _EASYX_DEPRECATE(settextstyle) void setfont(const LOGFONT *font); // 設定當前字型樣式 _EASYX_DEPRECATE(gettextstyle) void getfont(LOGFONT *font); // 獲取當前字型樣式 // 以下填充樣式不再使用,新的填充樣式請參見幫助檔案 #define NULL_FILL BS_NULL #define EMPTY_FILL BS_NULL #define SOLID_FILL BS_SOLID // 普通一組 #define BDIAGONAL_FILL BS_HATCHED, HS_BDIAGONAL // /// 填充 (對應 BGI 的 LTSLASH_FILL) #define CROSS_FILL BS_HATCHED, HS_CROSS // +++ 填充 #define DIAGCROSS_FILL BS_HATCHED, HS_DIAGCROSS // xxx 填充 (heavy cross hatch fill) (對應 BGI 的 XHTACH_FILL) #define DOT_FILL (BYTE*)"\x80\x00\x08\x00\x80\x00\x08\x00" // xxx 填充 (對應 BGI 的 WIDE_DOT_FILL) #define FDIAGONAL_FILL BS_HATCHED, HS_FDIAGONAL // \\\ 填充 #define HORIZONTAL_FILL BS_HATCHED, HS_HORIZONTAL // === 填充 #define VERTICAL_FILL BS_HATCHED, HS_VERTICAL // ||| 填充 // 密集一組 #define BDIAGONAL2_FILL (BYTE*)"\x44\x88\x11\x22\x44\x88\x11\x22" #define CROSS2_FILL (BYTE*)"\xff\x11\x11\x11\xff\x11\x11\x11" // (對應 BGI 的 fill HATCH_FILL) #define DIAGCROSS2_FILL (BYTE*)"\x55\x88\x55\x22\x55\x88\x55\x22" #define DOT2_FILL (BYTE*)"\x88\x00\x22\x00\x88\x00\x22\x00" // (對應 BGI 的 CLOSE_DOT_FILL) #define FDIAGONAL2_FILL (BYTE*)"\x22\x11\x88\x44\x22\x11\x88\x44" #define HORIZONTAL2_FILL (BYTE*)"\x00\x00\xff\x00\x00\x00\xff\x00" #define VERTICAL2_FILL (BYTE*)"\x11\x11\x11\x11\x11\x11\x11\x11" // 粗線一組 #define BDIAGONAL3_FILL (BYTE*)"\xe0\xc1\x83\x07\x0e\x1c\x38\x70" // (對應 BGI 的 SLASH_FILL) #define CROSS3_FILL (BYTE*)"\x30\x30\x30\x30\x30\x30\xff\xff" #define DIAGCROSS3_FILL (BYTE*)"\xc7\x83\xc7\xee\x7c\x38\x7c\xee" #define DOT3_FILL (BYTE*)"\xc0\xc0\x0c\x0c\xc0\xc0\x0c\x0c" #define FDIAGONAL3_FILL (BYTE*)"\x07\x83\xc1\xe0\x70\x38\x1c\x0e" #define HORIZONTAL3_FILL (BYTE*)"\xff\xff\x00\x00\xff\xff\x00\x00" // (對應 BGI 的 LINE_FILL) #define VERTICAL3_FILL (BYTE*)"\x33\x33\x33\x33\x33\x33\x33\x33" // 其它 #define INTERLEAVE_FILL (BYTE*)"\xcc\x33\xcc\x33\xcc\x33\xcc\x33" // (對應 BGI 的 INTERLEAVE_FILL)

測試可用