一.initgraph函數(講解)轉自:https://blog.csdn.net/zhao_fu_lu/article/details/23961111

1.initgraph():初始化圖形系統

(1)  函數原型:void far initgraph(int far *graphdriver,int far *graphmode,char far *pathtodriver);

graphdriver:上漲指向圖形驅動序號變量的指針

graphmode:在graphdriver確定后,指向圖形顯示模式序號變量的指針

pathtodriver:表示存放圖形驅動文件的路徑

(2)   頭文件:graphics.h

不同的顯示器適配器有不同的圖形分辨率(即使是同一個顯示器適配器,在不同模式下也有不同的分辨率)

在未作圖之前,必須根據顯示器適配器種類將顯示器設置成為某種圖形格式。

在未設置圖形格式之前,微機系統默認屏幕為文本格式(80列,25行字符模式),此時所有的圖形函數都不能工作。

設置屏幕為圖形模式,可以用下列圖形化初始函數:void far initgraph(int far *gdriver,int far *gmode,char *path);

gdriver和gmode表示圖形驅動.顯示模式,path是指圖形驅動程序所在的目錄路徑。

圖形驅動程序由Turbo C出版商提供,文件擴展名為.BGI。根據不同的圖形適配器有不同的圖形驅動程序。

(3)初始化繪圖環境

HWWD initgraph(

int width;//繪制環境的寬度

int height;//繪制環境的高度

int flag=NULL//繪制環境的樣式,默認為NULL,可以為以下值

);

值     NOCLOSE                                 NOMINIMIZE                               SHOWCONSOLE

含義  禁用繪圖環境的關閉按鈕      禁用繪圖環境的最小化按鈕                     保留原控制台窗口

2.Turbo C提供了一個自動檢測顯示器硬件的函數,其調用格式為:

void far detectgraph(int *gdriver,*gmode);其中圖形驅動和顯示模式與上面相同

#include //使用圖形初始化函數設置VGA高分辨率圖形模式int main(){int gdriver, gmode;gdriver=VGA;gmode=VGAHI;initgraph(&gdriver, &gmode, "c:\\tc");

bar3d(100, 100, 300, 250, 50, 1); /*畫一長方體*/

getch();

closegraph();

return 0;

}

注釋:bar3d三維條形圖  用法:void far bar3d{int left,int top,//三維空間矩形長條圖正面的左上角坐標

int right,int bottom,//三維空間矩形長條圖正面的右下角圖標

int depth,//三維空間矩形長條圖的深度(即陰影)

int topflag//設置是否繪制三維空間長條圖的頂部

};

//自動進行硬件測試后進行圖形初始化

#include

int main(){

int gdriver, gmode;                                                                        /int gdriver=DETECT,gmode;

detectgraph(&gdriver, &gmode);           /*自動測試硬件*/printf("the graphics driver is %d, mode is %d\n", gdriver,gmode);                                                 /*輸出測試結果*/getch();initgraph(&gdriver, &gmode, "c:\\tc");                                         initgraph(&gdriver,&gmode,"c:\\tc");/* 根據測試結果初始化圖形*/bar3d(10, 10, 130, 250, 20, 1);getch();closegraph();return 0;

}

上述程序中先對圖形顯示器自動檢測,然后再用圖形初始化函數進行初始化設置,但Turbo C提供了一種更簡單的方法,即用gdriver=DETECT語句后再跟initgraph()函數就行了。采用了這種方法后,上例可改為:上述注解

另外,Turbo C提供了退出圖形狀態的函數closegraph(),其調用格式為void far closegraph();調用該函數后可退出圖形雜狀態而進入文本格式(Turbo C默認方式),並釋放用於保存驅動程序和字體的系統內存。

#include "graphics.h"#include "stdio.h"int main(void){/* request auto detection */int gdriver = DETECT, gmode, errorcode;/* initialize graphics mode */initgraph(&gdriver, &gmode, "");/* read result of initialization */errorcode = graphresult();if (errorcode != grOk) /* an error occurred */{printf("Graphics error: %s\n", grapherrormsg(errorcode));printf("Press any key to halt:");getch();exit(1);                                                 /* return with error code */}/* draw a line */line(0, 0, getmaxx(), getmaxy());/* clean up */getch();closegraph();return 0;

}

二.在繪制圖形色彩時候遇到的隨機函數:rand函數(線性同余法)(產生隨機數)和srand(初始化隨機種子)

轉自:https://blog.csdn.net/github_37287822/article/details/77392130

頭文件:

(1)定義函數:int rand(void)

函數功能:產生隨機數

函數說明:因為rand的內部實現是用線性同余法做的,他不是真的隨機數,只不過是因為其周期特別長,所以,在一定的范圍里可看成是隨機的。

rand()會返回一隨機數值,范圍在0至RAND_MAX 間。

在調用此函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在調用時會自動設隨機數種子為1。

返回值: 返回0至RAND_MAX之間的隨機整數值,RAND_MAX的范圍最少是在32767之間(int),即雙字節(16位數)。若用unsigned int 雙字節是65535,四字節是4294967295的整數范圍。且0-RAND_MAX每個數字被選中的機率是相同的。

rand()產生的是假隨機數字,每次執行時是相同的。若要不同,以不同的值來初始化它.初始化的函數就是srand()。

(2)srand函數

頭文件:

定義函數:void srand(unsigned int seed);

函數說明:srand()用來設置rand()產生隨機數時的隨機數種子。參數seed必須是個整數,通常可以利用getpid()或者time(0)的返回值來當作seed。如果每次seed都設相同值,rand()所產生的隨機數值每次就會一樣。

三.

(1)

DLL 文件: winmm 或者 winmm.dll

DLL 名稱: Windows Multimedia API

描述:

winmm.dll是Windows多媒體相關應用程序接口,用於低檔的音頻和游戲手柄。

#pragma comment( comment-type ,["commentstring"] )

comment-type是一個預定義的標識符,指定注釋的類型,應該是compiler,exestr,lib,linker之一

commentstring是一個提供為comment-type提供附加信息的字符串。

playsound的具體用法轉自:https://blog.csdn.net/ccx_john/article/details/12494129

(2)

RGB(red,green,blue)

RGB函數就是(1*R+256*G+65536*B)

文字:settextcolor(YELLOW);(顏色)

settextstyle(,,L”字體“);//高,寬

outtextsy(x,y,L”“); / /out(輸出).text(文字).指定坐標輸出文字

四.#include 庫函數詳解

轉自:http://blog.csdn.net/chenyiming_1990/article/details/8682552

兩個類型:

time_t:表示距離 UTC 時間 1970-01-01 00:00:00 的秒數。也叫做日歷時,類型是  long

clock_t: 只用於程序計時,貌似其他的沒它什么事。

struct tm:通常用於存儲本地時。

五.

vs2017c语言图像界面库,C語言中在VS2017中構建圖形界面基礎知識點相关推荐

  1. 易语言.尘土界面库2.0版源代码分析(1):缘起

    作者:liigo 原文链接:http://blog.csdn.net/liigo/archive/2009/06/23/4292691.aspx 转载请注明出处:http://blog.csdn.ne ...

  2. C语言+easyX界面库实现贪吃蛇

    问题描述:  实现贪吃蛇游戏,有等级,分数,并且会保存最高等级和最高分 easysnake.h代码: #pragma once#include <stdio.h> #include < ...

  3. php必须掌握的库,PHP初學者必須掌握的10個知識點

    這里總結了PHP初學者容易感到困惑的10個問題,供大家參考. 1.頁面之間無法傳遞變量 get,post,session在最新的php版本中自動全局變量是關閉的,所以要從上一頁面取得提交過來得變量要使 ...

  4. lua运行外部程序_LTUI v2.2 发布, 一个基于lua的跨平台字符终端UI界面库

    LTUI是一个基于lua的跨平台字符终端UI界面库. 此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套 ...

  5. 金山卫士开源软件之旅(二) 简单教程:如何创建一个基于金山卫士界面库的工程

    完整解决方案代码压缩包: test_full.zip (267.59 KB) 参考: http://bbs.code.ijinshan.com/thread-1391-1-1.html 为了让更多的朋 ...

  6. 简单教程:如何创建一个基于金山卫士界面库的工程

    上一篇  http://www.2cto.com/kf/201203/125262.html 完整解决方案代码压缩包:test_full.zip  http://up.2cto.com/2012/03 ...

  7. 利用C语言绘制操作系统图像界面

    阅读博客的朋友可以参看视频: Linux kernel Hacker, 从零构建自己的内核 有了C语言这一利器后,不多多拿来用,那就太对不起前面的一系列努力了.那么怎么表现C语言的强大功能呢,如果还只 ...

  8. linux下c语言写界面,利用C语言绘制操作系统图像界面

    有了C语言这一利器后,不多多拿来用,那就太对不起前面的一系列努力了.那么怎么表现C语言的强大功能呢,如果还只是一味的在界面上输出几行字符,那太没意思,考虑到,我们的目标是做出像windows那样具备舒 ...

  9. 炫彩界面库UI设计器分享, 集成开发环境,C++,易语言

    炫彩在线帮助文档 炫彩UI截图 炫彩IDE UI设计器  截图 炫彩webUI  炫彩缓动 炫彩 易语言 火山PC例子截图 简介 炫彩界面库–软件界面开发框架,让用户快速开发桌面软件变的简单高效;功能 ...

最新文章

  1. Spring4MVC 请求参数映射和Content-type
  2. 深度学习之三:深度学习基本思想
  3. c语言实现辗除法,辗除法什么东西哦?
  4. Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'的解决
  5. Netty新连接接入与NioSocketChannel分析
  6. 10 亿产业基金加持,让精准定位在物联网应用中实现无限可能!
  7. 迈高图手机版_迈高图地图数据下载器
  8. Postman下载与安装操作步骤【超详细】
  9. 2021-05-09 matlab归一化和反归一化函数——mapminmax
  10. sub1G-CC1310的应用开发之入门
  11. 机器学习(二)-朴素的贝叶斯分类
  12. 写项目时怎样将后台管理使用的富文本编辑器保存的内容转为HTML格式
  13. 复变函数 —— 0. 连接复数与三角函数的欧拉公式
  14. 华为P20无敌拍摄能力开放 如何即刻获得?
  15. 码农深耕 - 35岁的程序员何去何从?
  16. Linux系统下的文件传输
  17. 管理学中常用的激励理论
  18. 利用苏宁API接口获取北京时间授时
  19. 为什么文件路径 Program Files 可以写成 Progra~1
  20. 2021-06-03——CSS属性制作家用电器商品分类表

热门文章

  1. ado filter 多条记录_江苏气动断料锯商家,多条锯_邢台富宇来机械厂
  2. sparkstreaming监听hdfs目录_flume kafka和sparkstreaming整合
  3. java导出类_java导出excel工具类
  4. oracle存储查询出来的值_技术分享|浅析ORACLE数据库物理体系结构及其对应优化策略...
  5. BUUCTF-reverse3
  6. python函数的两种嵌套方法
  7. python接口服务两种方式(被调用、主动推送)
  8. Python3NumPy的常用函数
  9. 函数matlab,Matlab函数
  10. 隧道野蛮模式_点亮“隧道之光”将人心中照亮