当前位置: 首页 > news >正文

C/C++图形化编程(1)

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝
信念是一把无坚不摧的利刃!

一起加油!

目录

一、创建图形化窗口:

1.包含头文件:

2.两个函数就可以创建窗口: 

3.窗口坐标的设置:

二、 设置图形窗口属性:

颜色设置:

三、使用Easyx实现基本绘图功能(基本绘图函数):

 例:画棋盘。


一、创建图形化窗口:

1.包含头文件:

  • graphics.h:包含已经被淘汰的函数
  • easyx.h:只包含最新的函数

2.两个函数就可以创建窗口: 

  • 打开:initgraph(int x,int y,int style);
  • 关闭:closegraph();

3.窗口坐标的设置:

横向x坐标

纵向y坐标

#include<stdio.h>
#include<graphics.h>int main() {initgraph(800, 600, 1);while (1);closegraph();return 0;
}

二、 设置图形窗口属性:

颜色设置:

  • 设置线条颜色      setlinecolor(颜色);
  • 设置背景颜色      setbkcolor(颜色);
    • 颜色宏:颜色的英语大写单词
      • RGB配置:三原色 
        • 绿色        RGB(13,242,24) 
  • 刷新
    • cleardevice();
    • #include<stdio.h>
      #include<graphics.h>int main() {initgraph(800, 600, 1);setbkcolor(RED);cleardevice();while (1);closegraph();return 0;
      }

三、使用Easyx实现基本绘图功能(基本绘图函数):

  • 线        line(int x,int y,int xx,int yy);
  • 圆        circle(int x,int y,int r);
    •  填充圆      设置填充颜色-->setfillcolor();
      • 带线:filercircle(int x,int y,int r);
      • 不带线:solidcircle(int x,int y,int r);
  •  矩形          rectangle(int x,int y,int xx,int yy);
    •  填充矩形      设置填充颜色-->setfillcolor();
      • 带线:filerectangle(int x,int y,int xx,int yy);
      • 不带线:solidrectangle(int x,int y,int xx,int yy);

 例:画棋盘。

#include<graphics.h>void Draw() {//画棋盘initgraph(400, 400);setbkcolor(RGB(63, 114, 233));setlinecolor(BLACK);cleardevice();for (int i = 0; i <= 400; i += 20) {line(0, i, 400, i);line(i, 0, i, 400);}		while (1);closegraph();
}int main() {Draw();return 0;
}

四、使用Easyx实现贴图功能:

  • 原样贴图      图像是什么样就怎么贴
    • IMAGE变量去表示图片
    • 加载图像
      • loadimage(IMAGE*img,URL);       
      • loadimage(IMAGE*img,URL,int width,int height); 
    • 显示图像
      • putimage(int x,int y,IMAGE*img);          

  

  • 透明贴图      去背景的贴图
    • 通过图像的颜色二进制运算达到去背景的效果
    • 认识素材
      • 掩码图
      • 背景图
    • 按照特定步骤贴图即可
      • SECAND        位与
      • SECPAINT       位或
  • png贴图        

相关文章:

  • Spring Boot国际化i18n配置指南
  • 华清远见嵌入式学习——ARM——作业3
  • 16.Redis 高级数据类型 + 网站数据统计
  • 关于“Python”的核心知识点整理大全34
  • 交通流预测 | Matlab基于KNN-BiLSTM的交通流预测(对比SVR、LSTM、GRU、KNN-LSTM)
  • 什么时候用多线程、为什么要设计多线程?
  • JVM高频面试题(2023最新版)
  • rocky linux9 安装go 即接下去
  • 单元测试实战
  • devops使用
  • 为实体服务器配置Ubuntu
  • 【IO】IO模型与零拷贝
  • html table+css实现可编辑表格
  • 理解SpringMVC的工作流程
  • 【宇宙猜想】AR文创入驻今日美术馆、北京天文馆等众多展馆,在AR互动中感受科技魅力!
  • [deviceone开发]-do_Webview的基本示例
  • 【个人向】《HTTP图解》阅后小结
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • jdbc就是这么简单
  • Nacos系列:Nacos的Java SDK使用
  • Spring Boot快速入门(一):Hello Spring Boot
  • WebSocket使用
  • 编写高质量JavaScript代码之并发
  • 从伪并行的 Python 多线程说起
  • 动态规划入门(以爬楼梯为例)
  • 动态魔术使用DBMS_SQL
  • 飞驰在Mesos的涡轮引擎上
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 解析带emoji和链接的聊天系统消息
  • 事件委托的小应用
  • 算法-图和图算法
  • 阿里云服务器购买完整流程
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • #宝哥教你#查看jquery绑定的事件函数
  • $().each和$.each的区别
  • (1)SpringCloud 整合Python
  • (1)常见O(n^2)排序算法解析
  • (C语言)逆序输出字符串
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • .describe() python_Python-Win32com-Excel
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .NET学习教程二——.net基础定义+VS常用设置
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [2019.3.5]BZOJ1934 [Shoi2007]Vote 善意的投票
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [Angular] 笔记 20:NgContent