图解在VC里使用graphics.h绘图(类似TC)

1 www.easyx.cn 下载 EasyX 库

我下的2014;解压后如下图;

2 根据自己的VC 版本进行安装

3 在控制台画一个圆

 

#include <graphics.h> // 引用图形库
#include <conio.h>
void main()
{initgraph(640, 480); // 初始化绘图窗口circle(200, 200, 100); // 画圆,圆心(200, 200),半径 100getch(); // 按任意键继续closegraph(); // 关闭图形界面
}

 

 

 

 

 

4 在控制台画一个方块

 

#include <graphics.h>
#include <conio.h>#define PI 3.14159265void main()
{// 创建大小为 800 * 600 的绘图窗口initgraph(400, 300);// 设置原点 (0, 0) 为屏幕中央(Y轴默认向下为正)setorigin(200, 150);// 使用藏青色填充背景setbkcolor(0x7c5731);cleardevice();// 设置绘图样式setlinecolor(WHITE);							// 设置线条颜色为白色setlinestyle(PS_SOLID | PS_ENDCAP_FLAT, 10);	// 设置线条样式为宽度 10 的实线,端点是平的setfillcolor(0x24c097);							// 设置填充颜色为绿色// 画方块fillroundrect(-75, -111, 75, 39, 36, 36);// 按任意键退出_getch();closegraph();
}

 

 

 

 

 

5 星空

这是来自easyx网站上的一个范例;

 

// 程序名称:星空
// 编译环境:Visual C++ 6.0,EasyX 2011惊蛰版
// 最后更新:2009-2-22
//
#include <graphics.h>
#include <time.h>
#include <conio.h>#define MAXSTAR 200	// 星星总数struct STAR
{double x;int y;double step;int color;
};STAR star[MAXSTAR];// 初始化星星
void InitStar(int i)
{star[i].x = 0;star[i].y = rand() % 480;star[i].step = (rand() % 5000) / 1000.0 + 1;star[i].color = (int)(star[i].step * 255 / 6.0 + 0.5);	// 速度越快,颜色越亮star[i].color = RGB(star[i].color, star[i].color, star[i].color);
}// 移动星星
void MoveStar(int i)
{// 擦掉原来的星星putpixel((int)star[i].x, star[i].y, 0);// 计算新位置star[i].x += star[i].step;if (star[i].x > 640)	InitStar(i);// 画新星星putpixel((int)star[i].x, star[i].y, star[i].color);
}// 主函数
void main()
{srand((unsigned)time(NULL)); // 随机种子initgraph(640, 480);	// 打开图形窗口// 初始化所有星星for(int i=0; i<MAXSTAR; i++){InitStar(i);star[i].x = rand() % 640;}// 绘制星空,按任意键退出while(!kbhit()){for(int i=0; i<MAXSTAR; i++)MoveStar(i);Sleep(20);}closegraph();    // 关闭图形窗口
}

 

 

 

 

 

6 屏幕截图

这也是来自easyx网站的例子,演示了graphics.h也可在Win32程序中使用;

 

/
// 程序名称:实现桌面截图
// 编译环境:Visual C++ 6.0 / 2010,EasyX 20130117(beta)
// 作    者:yangw80 <yw80@qq.com>
// 最后修改:2013-1-29
// 项目类型:Win32 Application
//
#include <graphics.h>// 抓取桌面图像到 *pimg 对象中
void CaptureDesktop(IMAGE *pimg)
{// 通过 Windows API 获取桌面的宽高int w = GetSystemMetrics(SM_CXSCREEN) / 2;int h = GetSystemMetrics(SM_CYSCREEN) / 2;// 调整 pimg 的大小Resize(pimg, w, h);// 获取桌面 DCHDC srcDC = GetDC(NULL);// 获取 IMAGE 对象的 DCHDC dstDC = GetImageHDC(pimg);// 在两个 DC 之间执行图像拷贝,将桌面抓图拷贝到 IMAGE 对象里面BitBlt(dstDC, 0, 0, w, h, srcDC, 0, 0, SRCCOPY);
}// 主函数
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{// 定义 IMAGE 对象IMAGE img;// 调用抓取桌面图像的函数CaptureDesktop(&img);// 创建绘图窗口initgraph(500, 300);// 在窗口中显示 IMAGE 中保存的桌面图像putimage(0, 0, &img);// 按 ESC 键退出while(!(GetAsyncKeyState(VK_ESCAPE) & 0x8000))Sleep(20);closegraph();return 0;
}

 

 

 

 

 

7 做一个字符动画

做一个字符从控制台窗口顶端往下落的动画;

 

#include <graphics.h>
#include <conio.h>
#include <time.h>// 主函数
void main()
{initgraph(400, 300);		// 初始化屏幕为 640x480srand(time(NULL));			// 设置随机种子setfont(16, 0, "Arial");	// 设置字母的字体和大小setfillstyle(BLACK);		// 设置清除字母的填充区域颜色char target;				// 目标字母int x, y;					// 字母的位置// 主循环while(true){target = 65 + rand() % 26;		// 产生任意大写字母x = rand() % 380;				// 产生任意下落位置for (y=0; y<280; y++){setcolor(GREEN);			// 设置字母的颜色outtextxy(x, y, target);	// 显示字母// 延时,并清除字母Sleep(10);bar(x, y, x + 16, y + 16);}}// 关闭图形界面closegraph();
}

 

 

 

 

 

还有些问题,下落的字母会拖着一个白色尾巴;下次再搞;

8 改进

在 VC 中创建代码请直接使用默认的 .cpp 扩展名,不要加 .c 扩展名。
并不是所有的 TC 绘图函数都能支持,许多函数在 EasyX 库中都变得更强大了,比如颜色,过去 TC 只能支持 16 色,现在可以支持上千万种颜色。还有字体,可以使用 Windows 下安装的任何字体,等等。参考帮助。

 

上述工程下载

http://pan.baidu.com/s/1o8qyWLs

文件名

easyxdemo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20275.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可编程逻辑器件之汽车仪表盘设计

一、 实验目标 熟练掌握 Verilog HDL 硬件描述语言&#xff0c;能够在实际工程中熟练使用Quartus II 软件进行可编程逻辑器件的基本开发&#xff0c; 能够熟练使用 Modelsim 软件进行系统的功能仿真验证&#xff0c; 能够正确的使用实验室各种实验仪器设备如示波器、信号发生器…

TeeChart替代品,MFC下好用的高速绘图控件-(Hight-Speed Charting)

相关链接&#xff1a; C GUI 绘图控件目录 MFC VS2010 使用TeeChart绘图控件 - 之一 - 控件和类的导入VS2010 使用TeeChart绘图控件 - 之二 - 绘制图形&#xff08;折线图&#xff0c;柱状图&#xff09;TeeChart绘图控件 - 之三 - 提高绘图的效率MFC下好用的高速绘图控件-(Hi…

PLC设计交通信号灯

一、实验目的 1、熟练掌握AB的PLC编程软件CCW的使用 2、加深对PLC编程原理的理解 3、了解PLC的实际使用过程 二、实验内容及要求 三、实验程序及结果 实验程序: 1、首先设置一个启动按钮DI02&#xff0c;一个暂停复位按钮DI03&#xff0c;设置中间变量M0自锁电路。 2、当启动…

Qt自绘汽车仪表盘-1

一、效果图 二、效果图拆解 根据效果图上显示&#xff0c;最外层一共是13个小点&#xff0c;这些小点有点像子弹头一样&#xff0c;头部是尖的&#xff0c;底部是平的。靠近一层是表盘码值表&#xff0c;数字是的底部朝向表盘圆心。再近一层是一个渐变圆环&#xff0c;颜色有黑…

【车牌识别】模板匹配新能源、轿车、货车车牌识别【含GUI Matlab源码 2169期】

⛄一、模板匹配车牌识别简介 1 系统整体设计 车牌识别系统包括4个步骤:车牌定位 (包括识别图像中的车牌位置并将其分割) 、图像处理、字符分割与字符识别, 如图1所示。车牌定位的主要功能是从图像中可能包含车牌的候选区域中定位车牌区域;图像处理的功能是强化车牌关键特征;字…

做毕业设计,前端部分你需要掌握的6个核心技能

其实前端新手如果想要自己实现一套毕业设计项目并非简单的事,因为之前很多人一直还停留在知识点的阶段,而且管理系统和C端网站都需要开发,但现在需要点连成线了。所以在启动项目开发之前呢,针对前端部分,我列举一些非常必要的前端核心技能,希望你已掌握。 《Vue + Sprin…

【中创】ChatGPT技术被滥用,安全治理亟需政府、企业共同努力!

眼见为实&#xff1f;耳听为真&#xff1f;当心AI诈骗&#xff01; 只需要提供一张带脸的照片&#xff0c;就可以置换成明星&#xff0c;拟真度非常高&#xff0c;毫无违和感&#xff0c;一个软件就能直接将杨颖整成迪丽热巴&#xff01; 只要迪丽热巴的泪痣和嘴&#xff1f;没…

不信谣、不传谣?ChatGPT 技术滥用,浙江首个虚假制作团伙被抓获

根据绍兴公安群蓝星官方公众号的消息&#xff0c;绍兴上虞区公安分局最近成功打击了一个使用 ChatGPT技术制作虚假视频并在网络上散播谣言的犯罪团伙&#xff0c;已逮捕了3名嫌疑人。这是浙江省首个虚假视频制作团伙案件。 6月2日&#xff0c;上虞警方在网络巡查中注意到一个名…

医院在线预约挂号系统开源

小程序部分 开源地址&#xff1a;https://github.com/moyuc1966/Registerhttps://github.com/moyuc1966/Register 整体功能有&#xff1a; 用户注册部分、就诊人部分、就诊人管理、对预约记录&#xff0c;缴费充值退款记录的管理 意见反馈、医院公告&#xff08;文章&#x…

ChatGPT常用的指令(十二)——AI辅助医生、厨师、机械师

系列文章目录 内容翻译自&#xff1a;https://github.com/f/awesome-chatgpt-prompts&#xff0c;并加入自己的实践内容 1、 ChatGPT常用的提示语&#xff08;prompts&#xff09;系列一 2、 ChatGPT常用的提示语&#xff08;prompts&#xff09;系列二 3、 ChatGPT常用的提示语…

AI与医学辅助诊断

人工智能一词越来越频繁的出现在日常生活中。一种事物的时髦&#xff0c;必然有其背后的原因。而对于这样一个大的话题&#xff0c;从整体上来叙述总显得有些不接地气。作为跟AI沾过一些边的博主将以自己接触的方面来发表一点看法。 首先介绍一下&#xff0c;博主在研究生期间从…

马斯克亲吻美女机器人,AI时代要来了吗?

马斯克亲了一个机器人&#xff01; 你印象中的机器人是长什么样的呢&#xff1f;钢铁骨骼&#xff0c;机械四肢&#xff1f;一拳下去梆梆硬&#xff0c;我们自己还反而痛得飞起的材质&#xff1f;运气好的话有些机器人长得跟人类一样有脑袋有四肢、有个人体的大概轮廓&#xf…

Chat GPT原理

ChatGPT一经发布就在科技圈火得不行&#xff0c;这两天也是被传得神乎其神&#xff0c;听说它写得了代码、改得了 Bug&#xff0c;小说、段子统统不再话下&#xff01;那他到底是怎么训练成现在这样的呢&#xff1f;本文介绍李宏毅老师的分析。 那么接下来我们就来介绍Chat GPT…

探索 Apple 公司股价数据-Python实现

探索 Apple 公司股价数据 环境和数据题目代码详解这个例子比较适合数据挖掘入门一段时间。都还是比较基础的一些函数的应用。 环境和数据 这里使用的是pycharm2020.1.1 x64的 一般都是用的是Python 3.7.3 一些包就自己看着下 处理的数据 -appl_1980_2014.csv,如下图 题目 …

ChatGPT老板的核能公司要上市了,估值61亿

尚恩 发自 凹非寺量子位 | 公众号 QbitAI OpenAI CEO的核能公司&#xff0c;宣布上市&#xff01; Sam Altman旗下的核裂变初创公司Oklo Inc.已官宣&#xff0c;与空壳公司AltC Acquisition Corp.达成最终业务合并协议。 合并交易预计将于今年底或2024年初完成&#xff0c;合并…

【历史上的今天】2 月 24 日:乔布斯出生;苹果推出 Thunderbolt 接口;WhatsApp 创始人诞生

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2022 年 2 月 24 日&#xff0c;在 2010 年的今天&#xff0c;苹果公司宣布 iTunes 上面的音乐曲目下载量超过了 100 亿首&#xff0c;创下一大辉煌纪录&#xff1b;苹…

[苹果解密]创新是伟大公司诞生的源泉--Apple再度成为美国最大上市公司

近日不论美股还是A股&#xff0c;都是跌落的入水声一片&#xff0c;夹杂着小民的眼泪声和割肉声。但其中也发现了一个令人激动的消息&#xff1a;苹果已经成为美国最大上市公司&#xff01;大概在去年&#xff0c;苹果就已经是美股IT业最大市值的上市公司了&#xff0c;而今天&…

分析师意外下调评级为中性,苹果财报能否改变科技股走向?

新年的投资热情为苹果市值短暂达到3万亿美元铺平了道路&#xff0c;这是有史以来第一家跨过这一门槛的美国公司。尽管许多华尔街分析师和投资者对苹果的评级为看涨&#xff0c;但目前Seeking Alpha的量化评级给苹果的评级为中性(HOLD)。 苹果将于1月27日公布2022财年第一季度财…

苹果收购公司,为什么总是低调而高效---转自百度新闻|DTCHAT

苹果真的太壕了。有多壕&#xff1f;在很多年里面&#xff0c;苹果是全球最值钱的公司。为什么那么值钱&#xff1f;主要是因为它一点也不缺钱。最能存钱截至2022年末&#xff0c;苹果手里的现金、现金等价物和有价证券总价值为1654.5亿美元。那些亏损的企业看到这里&#xff0…

基于WebGPU的AI原生3D引擎将会迎来新机遇!Orillusion在GOTC上做主题演讲

全球开源技术峰会&#xff08;Global Open-source Technology Conference&#xff09; GOTC 2023 由开放原子开源基金会、 Linux 基金会亚太区、上海浦东软件园和开源中国联合发起&#xff0c; 于 5 月 27 日至 28 日在上海顺利举行。 GOTC是面向全球开发者的一场盛大开源技术…