首页 技术 正文
技术 2022年11月9日
0 收藏 510 点赞 4,173 浏览 3300 个字

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),半径 100
getch(); // 按随意键继续
closegraph(); // 关闭图形界面
}

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center” alt=””>

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();
}

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center” alt=””>

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);// 获取桌面 DC
HDC srcDC = GetDC(NULL);
// 获取 IMAGE 对象的 DC
HDC 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 下安装的不论什么字体,等等。參考帮助。

上述project下载

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

文件名称

easyxdemo

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,491
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,493
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,294