简易绘图软件(水一期)

哈哈!

1、编写代码:

        代码:

                main:

#include <graphics.h>
#include <music.h>
#include <heker.h>
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )using namespace std;
class Point
{
protected:int x;int y;int r;int x1;int y1;
public:Point(){x = 0;y = 0;r = 0;x1= 0;y1= 0;}virtual void set(int a, int b)=0;virtual void setstart(int a,int b)=0;virtual void draw()=0;virtual void drawf()=0;int getx() const{return x;}int gety() const{return y;}
};
class MyCircle:public Point
{virtual void set(int a, int b){int dx = getx() - a;int dy = gety() -b;r = (int)sqrt(dx * dx + dy * dy);x1=a;y1=b;}virtual void setstart(int a,int b){x = a;y = b;r = 0;x1=a;y1=b;}virtual void draw(){circle(x, y, r);}virtual void drawf(){setfillstyle(SOLID_FILL,getcolor());pieslicef(x,y,0,360,r);}};
class rcircle:public Point
{
public:virtual void set(int a,int b){x1=getx() - a;y1=gety() - b;}virtual void setstart(int a,int b){x = a;y = b;r = 0;x1= 0;y1= 0;}virtual  void draw(){ellipsef(x,y,0,360,x1,y1);}virtual   void drawf(){setfillstyle(SOLID_FILL,getcolor());fillellipse(x,y,x1,y1);}
};
class Myline:public MyCircle
{
public:virtual  void draw(){line(x,y,x1,y1);}virtual  void drawf(){line(x,y,x1,y1);}
};
class Ju:public MyCircle
{
public:virtual  void draw(){rectangle(x,y,x1,y1);}virtual void drawf(){setfillstyle(SOLID_FILL,getcolor());int poly[8]={x,y,x1,y,x1,y1,x,y1};fillpoly(4,poly);}
};
int main()
{Hide();int b=0;MyCircle r;rcircle nr;Myline l;Ju ju;Point *p=&r;bool bDraw = false;	initgraph(800, 600, INIT_RENDERMANUAL);setfillstyle(SOLID_FILL,BLUE);  bar(10,20,40,50);setfillstyle(SOLID_FILL,YELLOW);bar(40,20,70,50);setfillstyle(SOLID_FILL,RED);bar(70,20,100,50);setfillstyle(SOLID_FILL,GREEN);bar(100,20,130,50);setfillstyle(SOLID_FILL,WHITE);bar(130,20,160,50);setfillstyle(SOLID_FILL,0xFF6100);bar(160,20,190,50);setfillstyle(SOLID_FILL,0xA020E0);bar(190,20,220,50);setfillstyle(SOLID_FILL,WHITE);       bar(10,51,40,81);setfillstyle(SOLID_FILL,BLACK);line(15,66,35,66);setfillstyle(SOLID_FILL,WHITE);bar(10,82,40,112);setfillstyle(SOLID_FILL,BLACK);circle(25,97,10);setfillstyle(SOLID_FILL,WHITE);bar(10,113,40,143);setfillstyle(SOLID_FILL,BLACK);rectangle(15,120,35,136);setfillstyle(SOLID_FILL,WHITE);bar(10,144,40,174);setfillstyle(SOLID_FILL,BLACK);ellipsef(25,159,0,360,10,6);setfillstyle(SOLID_FILL,WHITE);  bar(10,175,40,205);outtextxy(15,180,"实心");setfillstyle(SOLID_FILL,WHITE);bar(10,206,40,236);outtextxy(10,210,"空心");outtextxy(335,35,"粗细");      setfillstyle(SOLID_FILL,WHITE);bar(400,20,430,50);setfillstyle(SOLID_FILL,BLACK);bar(405,35,425,36);setfillstyle(SOLID_FILL,WHITE);bar(435,20,465,50);setfillstyle(SOLID_FILL,BLACK);bar(440,35,460,38);setfillstyle(SOLID_FILL,WHITE);bar(470,20,500,50);setfillstyle(SOLID_FILL,BLACK);bar(475,35,495,40);outtextxy(565,35,"线条形状");   setfillstyle(SOLID_FILL,WHITE);bar(630,20,660,50);setcolor(BLACK);setlinestyle(PS_SOLID, 0, 1, NULL);line(632,35,657,35);setfillstyle(SOLID_FILL,WHITE);bar(665,20,695,50);setcolor(WHITE);setlinestyle(PS_DOT, 0, 1, NULL);line(667,35,690,35);setlinewidth(3);                 setcolor(WHITE);line(45,55,45,595);line(45,55,795,55);line(45,595,795,595);line(795,55,795,595);setlinewidth(1);setfillstyle(SOLID_FILL,WHITE);  bar(10,300,40,330);outtextxy(10,305,"清屏");setfont(16, 0, "宋体");setcolor(0x00F000F0);setbkcolor(BLACK);setlinestyle(PS_SOLID);mouse_msg msg = {0};for ( ; is_run();delay_fps(60))	{while (mousemsg()){msg = getmouse();}if (msg.is_down())					{if (msg.is_left())				{  BeepMusic("SNA.wav");if(msg.x>9&msg.x<41&msg.y>19&msg.y<51){setcolor(0x0000FF);}else if(msg.x>39&msg.x<71&msg.y>19&msg.y<51){setcolor(0xFFFF00);}else if(msg.x>69&msg.x<101&msg.y>19&msg.y<51){setcolor(0xFF0000);}else if(msg.x>99&msg.x<131&msg.y>19&msg.y<51){setcolor(0x00FF00);}else if(msg.x>129&msg.x<161&msg.y>19&msg.y<51){setcolor(0xFFFFFF);}else if(msg.x>159&msg.x<191&msg.y>19&msg.y<51){setcolor(0xFF6100);}else if(msg.x>189&msg.x<211&msg.y>19&msg.y<51){setcolor(0xA020E0);}else if(msg.x>399&msg.x<431&msg.y>19&msg.y<51){setlinewidth(1);setcolor(getcolor());}else if(msg.x>434&msg.x<466&msg.y>19&msg.y<51){setlinewidth(3);setcolor(getcolor());}else if(msg.x>469&msg.x<501&msg.y>19&msg.y<51){setlinewidth(9);setcolor(getcolor());}else if(msg.x>9&msg.x<41&msg.y>299&msg.y<331){setfillstyle(SOLID_FILL,BLACK);bar(48,58,792,592);}else if(msg.x>630&msg.x<650&msg.y>20&msg.y<50){setlinestyle(PS_SOLID, 0, 1, NULL);setcolor(getcolor());}else if(msg.x>665&msg.x<695&msg.y>20&msg.y<50){setlinestyle(PS_DOT, 0, 1, NULL);setcolor(getcolor());}else if(msg.x>9&msg.x<41&msg.y>50&msg.y<82){p=&l;}else if(msg.x>9&msg.x<41&msg.y>81&msg.y<113){p=&r;}else if(msg.x>9&msg.x<41&msg.y>112&msg.y<144){p=&ju;}else if(msg.x>9&msg.x<41&msg.y>143&msg.y<175){p=&nr;}else if(msg.x>9&msg.x<41&msg.y>174&msg.y<206)//设置一个选择实心空心的开关{b=1;}else if(msg.x>9&msg.x<41&msg.y>205&msg.y<237){b=0;}
else {p->setstart(msg.x,msg.y);setwritemode(R2_XORPEN);	bDraw = true;                  }
}
}if (msg.is_right())		{if (bDraw){   BeepMusic("WIN.wav");if(b==0){p->draw();}else p->drawf();					setwritemode(R2_COPYPEN);bDraw = false;}}else if (msg.is_move())				{if (bDraw){if(b==0){p->draw();}else p->drawf();			p->set(msg.x,msg.y);if(b==0){p->draw();}			else p->drawf();}}else if (msg.is_up())			{if (bDraw){setwritemode(R2_COPYPEN);	p->set(msg.x,msg.y);if(b==0){p->draw();}			else p->drawf();bDraw = false;}}xyprintf(0, 0, "x=%4d y=%4d", msg.x, msg.y);}
closegraph();
return 0;
}

        效果:

 

 

2、更改名称:

编译运行之后,得到文件如图:

更改名称为"Coco绘图软件"。

3、更改图标:

详情请见C++:如何更改程序图标?-CSDN博客

4、下载音乐

有两个音乐,下载地址:CSDN2.0云服务器

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

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

相关文章

25天物理探索旅程 - 第四天:光的奇妙旅程揭秘

第四天&#xff0c;我们的科普探险队将踏上一段非凡的旅程&#xff0c;目标是揭开光——这位宇宙间最具魔法特质的信使的秘密面纱。今天&#xff0c;我们将以一种轻松愉快、幽默风趣的方式探讨光的本质&#xff0c;像看一场生动有趣的魔术表演般&#xff0c;领略光那波粒二象性…

linux系统zabbix工具监控web页面

web页面监控 内建key介绍浏览器配置浏览器页面查看方式 监控指定的站点的资源下载速度&#xff0c;及页面响应时间&#xff0c;还有响应代码&#xff1b; web Scenario&#xff1a; web场景&#xff08;站点&#xff09;web page &#xff1a;web页面&#xff0c;一个场景有多…

WordPress站点如何实现发布文章即主动推送到百度快速收录和普通收录?

我们在WordPress后台成功发布文章之后&#xff0c;如果靠搜索引擎来抓取的话&#xff0c;可能会比较慢&#xff0c;所以十分有必要将我们成功发布的文章马上提交到百度、必应等搜索引擎中。下面boke112百科就跟大家说一说WordPress站点如何实现发布文章即主动推送到百度快速收录…

前端开发:Vue框架与前端部署

Vue Vue是一套前端框架&#xff0c;免除原生)avaScript中的DOM操作&#xff0c;简化书写。是基于MVVM(Model–View-ViewModel)思想&#xff0c;实现数据的双向绑定&#xff0c;将编程的关注点放在数据上。简单来说&#xff0c;就是数据变化的时候, 页面会自动刷新, 页面变化的时…

人工智能学习与实训笔记(七):神经网络之推荐系统处理

九、模型压缩与知识蒸馏 出于对响应速度&#xff0c;存储大小和能耗的考虑&#xff0c;往往需要对大模型进行压缩。 模型压缩方法主要可以分为以下四类&#xff1a; 参数修剪和量化&#xff08;Parameter pruning and quantization&#xff09;&#xff1a;用于消除对模型表…

云计算基础-存储基础

存储概念 什么是存储&#xff1a; 存储就是根据不同的应用程序环境&#xff0c;通过采取合理、安全、有效的方式将数据保存到某些介质上&#xff0c;并能保证有效的访问&#xff0c;存储的本质是记录信息的载体。 存储的特性&#xff1a; 数据临时或长期驻留的物理介质需要保…

【深度学习每日小知识】全景分割

全景分割 全景分割是一项计算机视觉任务&#xff0c;涉及将图像或视频分割成不同的对象及其各自的部分&#xff0c;并用相应的类别标记每个像素。与传统的语义分割相比&#xff0c;它是一种更全面的图像分割方法&#xff0c;传统的语义分割仅将图像划分为类别&#xff0c;而不…

【旧文更新】【优秀毕设】人脸识别打卡/签到/考勤管理系统(OpenCV+最简基本库开发、可移植树莓派 扩展网络图像推流控制 验证码及Excel邮件发送等功能)

【旧文更新】【优秀毕设】人脸识别打卡/签到/考勤管理系统&#xff08;OpenCV最简基本库开发、可移植树莓派 扩展网络图像推流控制 验证码及Excel邮件发送等功能&#xff09; 文章目录 关于旧文新发毕设结构主页面验证码识别效果管理页面人脸信息采集管理实时数据更新签到结果…

IIC--集成电路总线

目录 一、IIC基础知识 1、设计IIC电路的原因&#xff1a; 2、上拉电阻阻值怎么确定 3、IIC分类 4、IIC协议 二、单片机使用IIC读写数据 1、 IIC发送一个字节数据&#xff1a; 2、IIC读取一个字节数据&#xff1a; 一、IIC基础知识 1、设计IIC电路的原因&#xff1a; (…

Windows 环境下 Redis 的安装和基本使用

Windows 环境下 Redis 的安装和基本使用 Windows 环境下 Redis 的安装和基本使用Redis 简介基本数据结构Redis 的下载、解压、添加环境变量运行GUI&#xff1a;RedisInsight参考链接 Windows 环境下 Redis 的安装和基本使用 Redis 简介 Redis 是完全开源的&#xff0c;遵守 B…

OpenCV-41 使用掩膜的直方图

一、掩膜 掩膜即为与原图大小一致的黑底白框图。 如何生成掩膜&#xff1f; 先生成一个全黑的和原始图片大小一样大的图片。mask np.zeros(img.shape, np.uint8)将想要的区域通过索引方式设置为255.mask[100:200, 200:300] 示例代码如下&#xff1a; import cv2 import ma…

紫微斗数双星组合:天机太阴在寅申

文章目录 前言内容总结 前言 紫微斗数双星组合&#xff1a;天机太阴在寅申 内容 紫微斗数双星组合&#xff1a;天机太阴在寅申 性格分析 天机星与太阴星同坐寅申二宫守命的男性&#xff0c;多浪漫&#xff0c;易与女性接近&#xff0c;温柔体贴&#xff0c;懂得女人的心理。…

IO流---缓冲流,转换流,打印流,序列化流

缓冲流 缓冲流&#xff08;Buffered Stream&#xff09;也被称为高效流&#xff0c;它是对基本的字节字符流进行增强的一种流。通过缓冲流&#xff0c;可以提高数据的读写能力。 在创建缓冲流对象时&#xff0c;会创建一个内置的默认大小的缓冲区数组。通过对缓冲区的读写&…

2024.2.10 HCIA - Big Data笔记

1. 大数据发展趋势与鲲鹏大数据大数据时代大数据的应用领域企业所面临的挑战和机遇华为鲲鹏解决方案2. HDFS分布式文件系统和ZooKeeperHDFS分布式文件系统HDFS概述HDFS相关概念HDFS体系架构HDFS关键特性HDFS数据读写流程ZooKeeper分布式协调服务ZooKeeper概述ZooKeeper体系结构…

[职场] 会计学专业学什么 #其他#知识分享#职场发展

会计学专业学什么 会计学专业属于工商管理学科下的一个二级学科&#xff0c;本专业培养具备财务、管理、经济、法律等方面的知识和能力&#xff0c;具有分析和解决财务、金融问题的基本能力&#xff0c;能在企、事业单位及政府部门从事会计实务以及教学、科研方面工作的工商管…

【摸鱼日常】使用Docker部署RPG网页小游戏

一、本次实践介绍 1. 本次实践简介 本次实践部署环境为个人测试环境&#xff0c;快速使用docker部署RPG网页小游戏。 rootWellDone:/home/goodjob# uname -a Linux WellDone 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_…

Linux:docker搭建redis集群(3主3从扩容缩容 哈希槽分配)

操作系统&#xff1a;centos7 docker-ce版本&#xff1a;24.0.7 1.准备redis镜像 我这里使用redis 6.0.8 镜像进行操作&#xff0c;如果你也需要镜像&#xff0c;在网络正常情况下直接使用 docker pull redis:6.0.8 即可进行下载&#xff0c;如果你没配置国内加速器&#x…

DS:八大排序之直接插入排序、希尔排序和选择排序

创作不易&#xff0c;感谢三连支持&#xff01;&#xff01; 一、排序的概念及运用 1.1 排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起 来的操作。稳定性&…

leetcode:96.不同的二叉搜索树

解题思路&#xff1a; 输入n3 n 0 1个 n 1 1个 n 2 2个 头1头2头3 头1 左子树0节点&#xff08;个数&#xff09;x右子树2个节点&#xff08;个数&#xff09; 头2 左子树1节点&#xff08;个数&#xff09;x右子树1个节点&#xff08;个数&#xff09; 头3 左子…

集群聊天项目

不懂的一些东西 (const TcpConnectionPtr&&#xff09;作为形参啥意思&#xff1a;接收一个常量引用&#xff0c;函数内部不允许修改该指针所指向的对象。 优势 1.网络层与业务层分离&#xff1a;通过网络层传来的id&#xff0c;设计一个map存储id以及对印的业务处理器&…