windows 上的C语言 图形界面设计函数 ( easyx 插件 )
事先准备 图形库的安装和帮助文档 (这里没有插件)
1.新建窗口
initgraph(640,480);//单位 像素
closegraph();//关闭窗口
2.画线 颜色(宏定义或者RGB自己调RGB(r,g,b))
line(100,200,200,400);
setlinecolor(WHITE);
//setlinestyle
3.画图形 颜色和填充色
rectangle(200,200,400,400);//矩形
fillrectangle(200,200,400,400);//填充矩形
solidrectangle(200,200,400,400);//无边框填充矩形
//三种类型的函数 1.线条无填充 2.只有填充 3.有线条有填充
setlinecolor(颜色);
setfillcolor(颜色);
4.贴图 路径 资源
loadimage(&img,"文件名",高度,宽度);
putimage(x,y,&img);
loadimage(NULL,"文件名",高度,宽度);//直接贴
loadimage(NULL,L"JPG",MAKEINTRESOURCE(图片ID),高度,宽度);//资源文件 文件名修改为类型加ID的形式
5.鼠标操作
MOUSEMSG msg;
if(MouseHit())//判断有无鼠标信息
msg=GetMouseMsg();//获取鼠标信息
switch(msg.uMsg)
case WM_LBUTTONDOWN:
case WM_RBUTTONDOWN:
键盘消息
#include<conio.h>
char ch=getch()//获取键盘消息
if(kbhit())//判断有无鼠标信息
6.文字输入输出 文字颜色和样式
outtextxy(_T("hello"),x,y);
settextcolor(颜色);
settextstyle(高度,宽度(写0表默认),_T("字体"));
setbkmode(TRANSPARENT);//设置背景颜色透明
7.音乐播放
#include<mmsystem.h>
#pragma comment(lib,"winmm.lib")
函数 PlaySound 只能wav格式 可以使用资源文件
PlaySound("c:\\win95\\media\\The Microsoft Sound.wav", NULL, SND_FILENAME | SND_ASYNC);
//文件名 SND_FILENAME 表示文件名 SNE_ASYNC表示异步播放(SND_SYNC 同步播放 放完音乐才开始下一步) SND_LOOP 表示循环播放
PlaySound((LPCTSTR)IDR_STARTWIN, AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC);
//WAV ID 第二个参数是程序的实例句柄
PlaySound(NULL,NULL,NULL);停止播放
函数 mciSendSetring 可以放mp3 wav等 不能使用资源文件
mciSendSetring(L"open 文件名 alias mp3",NULL,NULL,NULL);
mciSendSetring(L"play mp3",NULL,NULL,NULL);//取别名之后直接播放就行
可选命令 pause stop
代码:
*/
代码:
#include <graphics.h> // 引用图形库头文件
#include <conio.h> 知识点 1:创建的初始化
#include <stdio.h>int main()
{
//知识点 1: 窗口创建和关闭
initgraph(640, 480);
//知识点 2:颜色
setbkcolor(BLUE);
//cleardevice(); //设置背景后需要画图才行,否则需要清空设备
setlinecolor(WHITE);
setorigin(10, 30); //设置初始位置
setlinestyle(PS_DASH);
setfillcolor(RED);
circle(200, 200, 100);
// 画圆,圆心(200, 200),半径 100
//知识点 3:画图处理
setlinecolor(RGB(0, 255, 255));
setfillcolor(GREEN);
circle(500, 200, 100);
// 画圆,圆心(200, 200),半径 100
arc(50, 50, 400, 120, 3, 3);
fillrectangle(10, 10, 100, 100);
//知识点 4:文字处理
RECT r = { 0, 0, 639, 479 };
drawtext(_T("Hello World"), &r, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
setbkmode(TRANSPARENT);
settextcolor(RGB(255,25,255));
settextstyle(160, 30, _T("宋体"));
outtextxy(120, 20, "你好");
//知识点 5:图片处理
IMAGE img;loadimage(&img, "./res/bk.jpg", 384, 384);
//putimage(0, 0, &img);
char s[20] = { 0 };
InputBox(s, 10, "请输入半径","半径","10",20,50,false);
int x = atoi(s);
ExMessage m;
while (true)
{
// 获取一条鼠标或按键消息
m = getmessage(EM_MOUSE | EM_KEY);
switch (m.message)
{
//case WM_MOUSEMOVE:
// 鼠标移动的时候画红色的小点
//
MessageBox(NULL, "WM_MOUSEMOVE", "123", MB_OK);
// break;
case WM_LBUTTONDOWN:
// 如果点左键的同时按下了 Ctrl 键
MessageBox(NULL, "WM_LBUTTONDOWN", "123", MB_OK);
break;
case WM_KEYDOWN:
if (m.vkcode == VK_F1)
MessageBox(NULL, "VK_NUMPAD0", "123", MB_OK);
break;
}
}
_getch();
// 按任意键继续
closegraph();
// 关闭绘图窗口
return 0;
}
windows 上的C语言 图形界面设计函数 ( easyx 插件 )相关推荐
- c语言界面函数,C语言图形界面常用函数集锦
(以下函数均应在图形方式初始之后使用(initgraph(a,b)),在win-tc中使用BGI图形程序模板时,其中已经定义有一个initgr函数,在main函数中应在执行initgr函数之后再使用这 ...
- c语言 图形界面 入门,C语言是怎么实现图形界面的?
GTK就可以,一个基于C语言的免费.开源.跨平台图形工具包,可以直接使用C语言调用实现图形界面开发,下面我简单介绍一下这个工具包的安装和使用,这里以Windows平台为例: 1.首先,下载GTK安装包 ...
- JAVA图形界面设计
图形界面设计 1 Java Swing 概述 图形化界面(Graphics User Interface,GUI)是指采用图形方式显示的计算机操作用户界面. 通过图形化界面,用户和程序之间可以方便地进 ...
- QT4.7下的UI图形界面设计用例——银行排队系统
这里写自定义目录标题 QT4.7的UI界面设计功能 效果展示 文件机制 UI功能详述 信号与槽机制(非常重要) 添加新文件 顶部菜单栏设定 菜单界面与点击下拉栏选项后界面切换 弹窗显示 主界面与弹窗界 ...
- Qt用户图形界面设计应用(闹钟)
Qt用户图形界面设计应用(闹钟) 一.Qt介绍 什么是Qt Qt 是一个跨平台的 C++ 图形用户界面库,由挪威 TrollTech 公司于 1995 年底出品,并于 2008年6月17日被NOKIA ...
- 【JAVA】基本图形界面设计
[JAVA]基本图形界面设计 基本知识点 JAVA中的组件包: 1:采用java.awt.*(abstract Windowing Toolkit) 2:采用javax.swing.* 特点: 前者: ...
- Java实验二 图形界面设计
学院 计算机科学与教育软件学院 年级.专业.班 网络16* 姓名 卟咚君 学号 1606100*** 实验课程名称 Java语言实验 成绩 实验项目名称 图形界面设计 指导老师 ** 一.实验目的 • ...
- Python学习:图形界面设计01
写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: Python实现输入电影名字自动生成豆瓣评论词云图 ...
- JAVA-关于计算器的简单图形界面设计例子(不实现功能)
对于刚刚学习JAVA的小伙伴们来说,对图形界面设计肯定不陌生,我们可以利用javax.swing类库来进行图形界面的简单设计. 下面我们用JAVA图形界面设计的相关基础知识来实现一个简易计算器的界面( ...
最新文章
- 利用LVS+Keepalived 实现高性能高可用负载均衡服务器
- 冰墩墩+周杰伦也救不了NFT
- P3515-[POI2011]Lightning Conductor【整体二分,决策单调性】
- gateway请求拦截_一种网关对用户请求进行统一拦截判断是否放行的方法与流程...
- Python模块及其导入
- 微型计算机原理_课后答案,微机原理课后习题答案
- 【转】Android 中的 Service 全面总结
- 64. 整合异步脚本
- length属性,length()方法和size()的方法的区别
- HTML(超文本标记语言)-----WEB开发基础之二
- Qt —— 海康SDK获取视频并OpenCv处理每帧图像进行显示
- 【经典面试题】实现平方根函数sqrt
- 文本分类数据和评价指标
- iOS 深度跳转(scheme、universal link)
- JavaWeb开发网上商城
- 一个很简单的淘宝优惠券搜索助手 大家看看有没有用吧
- macOS 安装PhotoshopCC 2017
- Java学习推荐:最全JavaWeb全套视频教程——适合零基础入门
- 用于工作的 Linux 桌面——Ubuntu 22.04
- 惯性传感器(IMU)简介【转】
热门文章
- P5514 永夜的报应(异或,数学)
- 洛谷 题解 P5514 【[MtOI2019]永夜的报应】
- iOS-指纹识别,面部识别
- 为什么市场利率涨,国债价格跌?
- Future和Callback
- Web安全 学习日记7 - XSS(跨站脚本攻击)
- SpringMVC+Mybatis+Maven搭建
- 虚拟机Ubuntu系统改变中文与Windows系统共享文件到安装pycharm学习MySQL数据库
- 超详细的PHP入门知识点讲解
- php中如何强制转为长整型,关于php32位系统中长整型的强制转化溢出的详细介绍...