C++图形开发(16):绘制一个圆环和一根针

文章目录

  • 绘制一个圆环和一根针
    • 1.1 绘制
    • 1.2 line()函数
    • 1.3 circle()函数
    • 1.4 setlinestyle()函数
    • 1.5 setlinecolor()函数

接下来,我会继续制作一些小游戏,但因为整个难度的上升(毕竟我也是初学者),可能文章不会再像之前那样每个点都讲的那么详细了,文章之间也可能会有断档,但是之后我会开一个graphics.h图形库的专栏,来细细讲解里面的函数,希望能得到您的谅解!

那么今天就来实现一个小游戏“见缝插针”

绘制一个圆环和一根针

1.1 绘制

在这里插入图片描述
我们首先先来绘制一个如上图所示的圆环和针
代码:

#include<graphics.h>
#include<conio.h>
#include<stdio.h>int main() {int width = 800;//定义画面宽度(x)int height = 600;//定义画面高度(y)initgraph(width, height);//创建图形界面setbkcolor(RGB(255, 255, 255));//背景颜色设置成白色cleardevice();//清理屏幕setlinestyle(PS_SOLID, 3);//画笔宽度设置为3setlinecolor(RGB(0, 0, 0));//画笔颜色设置为黑色line(width / 2, height / 2, width / 2 + 160, height / 2);//画针setlinecolor(HSVtoRGB(0, 0.9, 0.8));//画笔颜色设置为红色circle(width / 2, height / 2, 60);//画圆环,在画面中心,半径为60_getch();closegraph();return 0;
}

1.2 line()函数

其中要着重讲一下的就是line()函数
格式:(虽然我也不知道为什么是直线不是线段,毕竟直线没有长度嘛)

line(直线的起始点的 x 坐标,直线的起始点的 y 坐标,直线的终止点的 x 坐标,直线的终止点的 y 坐标);

图解:
在这里插入图片描述
直线的起始点的 x 坐标
直线的起始点的 y 坐标
直线的终止点的 x 坐标
直线的终止点的 y 坐标

1.3 circle()函数

还有circle()函数,用于画无填充圆环
格式:

circle(圆心 x 坐标,圆心 y 坐标,圆的半径);

这个就不用画图解释了吧~

1.4 setlinestyle()函数

setlinestyle()函数在这里的使用就是设置画笔为实线,粗细为3
线型:

含义
PS_SOLID线形为实线
PS_DASH线形为:------------
PS_DOT线形为:············
PS_DASHDOT线形为:-·-·-·-·-·-·
PS_DASHDOTDOT线形为:-··-··-··-··
PS_NULL线形为不可见
PS_USERSTYLE线形样式为用户自定义,由参数 puserstyle 和 userstylecount 指定

1.5 setlinecolor()函数

这个函数就是用来设置画笔颜色,其实你也可以写成不用RGB的格式,以红色为例:

setlinecolor(RED);

这样也是可以的

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

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

相关文章

Can转RTU网关can总线转以太网设备

YC-CAN-RTU 是一款用于 CAN-Modbus 现场总线与 RS-232 总线或 RS-485 总线之间数据转换的协议型转换器&#xff0c;支持标准 Modbus RTU 协议。集成 1 路RS-232 通道、1 路RS-485 通道、1 路CAN-Modbus 通道&#xff0c;可以方便地嵌入使用 RS-232 接口和 RS-485 接口的节点上&…

openGauss学习笔记-08 openGauss 数据类型

文章目录 openGauss学习笔记-08 openGauss 数据类型8.1 数值类型8.2 布尔类型8.3 字符类型8.4 二进制类型8.5 日期/时间类型8.6 几何类型8.7 网络地址类型8.8 位串类型8.9 文本搜索类型8.10 UUID数据类型8.11 JSON/JSONB类型8.12 HLL数据类型8.13 范围类型8.14 索引8.15 对象标…

基于 OpenCV 的图像处理与分析应用的设计与实现

基于 OpenCV 的图像处理与分析应用的设计与实现 导语一、应用设计概述二、应用实现步骤三、应用示例&#xff1a;图像滤波与边缘检测总结 导语 图像处理与分析是计算机视觉中的重要应用领域&#xff0c;通过对图像进行处理和分析&#xff0c;可以提取有用的信息和特征&#xf…

微信小程序监听页面跳转API

// 放在app.js 里面的onshow生命周期里面wx.onAppRoute((res) > {console.log(路由跳转,res})})

《Python机器学习:基于PyTorch和Scikit-Learn》——AIC松鼠活动第三期

内容简介 本书是一本全面介绍在PyTorch环境下学习机器学习和深度学习的综合指南&#xff0c;可以作为初学者的入门教程&#xff0c;也可以作为读者开发机器学习项目时的参考书。 本书讲解清晰、示例生动&#xff0c;深入介绍了机器学习方法的基础知识&#xff0c;不仅提供了构…

通过python的signal库模拟电源设备的csine波形

import numpy as np import matplotlib.pyplot as plt import random from scipy import signal def csin(length, amp,lenf,n):"""生成模拟CSIN波形的函数:param length: 波形长度:param amp: 波形振幅:return: CSIN波形数据"""amp 100 if (am…

浅谈用于配电室的内部环境监控系统设计

摘要&#xff1a;配电室是配电系统的重要组成部分&#xff0c;影响着电力用户的用电需求&#xff0c;需要保障其安全、可靠运行。针对配电室内部环境进行了深入分析&#xff0c;设计了一种内部环境监控系统。通过该系统可以采集配电室内部的温度、湿度、液位、SF6气体和烟雾&am…

在Vue种使用Vant框架

第一步&#xff1a;打开Vant框架地址 https://vant-contrib.gitee.io/vant/v2/#/zh-CN/home 第二步&#xff1a; 安装 第三步&#xff1a;引入&#xff08;我这里使用的是按需导入&#xff09; 执行命令&#xff1a; npm i babel-plugin-import -D ①&#xff1a;src下创建个…

安全测试方法介绍(下)渗透测试

安全主要测试方法主要有&#xff1a;静态源代码审查&#xff0c;这个在编码阶段就可以进行&#xff0c;这个阶段如果出现问题&#xff0c;修复起来成本也比较低。程序发布之后可以进行渗透测试。前面的文章中我们为大家介绍了静态源代码审查的方法和策略&#xff0c;接下来本文…

分布式应用之zookeeper集群+消息队列Kafka

一、zookeeper集群的相关知识 1.zookeeper的概念 ZooKeeper是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Google的Chubby一个开源的实现&#xff0c;是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的功能…

Leaflet Ant Path(水系流动效果)

一、源代码&#xff1a; 用leaflet库中的Leaflet.AntPath插件 将通量动画&#xff08;如蚂蚁行走&#xff09;放入折线中 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><…

Mac搭建安卓模拟器(支持M1/M2)

引言 最近在研究Vue打包成app&#xff0c;给我的报价器搞一个移动端&#xff0c;奈何没有安卓手机用于测试。所以想到安装一个安卓模拟器。 看了下目前主流的安卓模拟器基本都不支持Mac版本。网易的mumu目前来看还是只支持Intel芯。 1. 简单版&#xff08;仅M系&#xff09;…