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

网站做编辑器建设网站基础

网站做编辑器,建设网站基础,jsp ajax网站开发典型实例pdf,2023前端开发的就业现状目录 1.效果展示 2.源码展示 3.代码逻辑详解 3.1 头文件与宏定义 3.2 HSV函数转RGB颜色函数 3.3 主函数 初始化部分 循环部分 线条绘制部分 刷新和延时部分 结束部分 4.小结 本篇博客主要介绍趣味编程用C语言实现万花筒小程序。 1.效果展示 2.源码展示 #define…目录 1.效果展示 2.源码展示  3.代码逻辑详解 3.1 头文件与宏定义  3.2  HSV函数转RGB颜色函数 3.3 主函数 初始化部分 循环部分 线条绘制部分 刷新和延时部分 结束部分 4.小结  本篇博客主要介绍趣味编程用C语言实现万花筒小程序。 1.效果展示 2.源码展示  #define _CRT_SECURE_NO_WARNINGS #include graphics.h #include conio.h #include math.h#define PI acos(-1.0) #define NUM_LINES 36 // 线条数量 #define BASE_RADIUS 250 // 基础半径// HSV转RGB颜色函数 COLORREF MHSVtoRGB(float H, float S, float V) {float C V * S;float X C * (1 - fabs(fmod(H / 60.0, 2) - 1));float m V - C;float r, g, b;if (H 0 H 60) { r C; g X; b 0; }else if (H 60 H 120) { r X; g C; b 0; }else if (H 120 H 180) { r 0; g C; b X; }else if (H 180 H 240) { r 0; g X; b C; }else if (H 240 H 300) { r X; g 0; b C; }else { r C; g 0; b X; }return RGB((r m) * 255, (g m) * 255, (b m) * 255); }int main() {// 初始化图形窗口initgraph(800, 600);setbkcolor(BLACK);cleardevice();int cx getwidth() / 2; // 中心X坐标int cy getheight() / 2; // 中心Y坐标float angle 0.0f; // 全局旋转角度float hue 0.0f; // 颜色色相值// 启用批量绘制防闪烁BeginBatchDraw();while (!_kbhit()) { // 按任意键退出cleardevice();// 更新全局参数angle 0.005f;hue 0.5f;if (hue 360) hue - 360;// 绘制所有线条for (int i 0; i NUM_LINES; i) {// 计算当前线条角度偏移float offset i * (2 * PI / NUM_LINES);// 计算动态半径带波动效果float radius BASE_RADIUS * (1 0.2f * sin(angle * 3 offset));// 计算起点和终点坐标float startAngle angle offset;float endAngle startAngle PI / 2; // 终点角度偏移90度int x1 cx radius * cos(startAngle);int y1 cy radius * sin(startAngle);int x2 cx (radius * 0.6f) * cos(endAngle);int y2 cy (radius * 0.6f) * sin(endAngle);// 设置线条颜色HSV色彩空间渐变setlinecolor(MHSVtoRGB(fmod(hue i * 10, 360), 0.8f, 1.0f));// 绘制线条line(x1, y1, x2, y2);}// 刷新批量绘制FlushBatchDraw();Sleep(10);}// 关闭图形窗口EndBatchDraw();closegraph();return 0; }3.代码逻辑详解 3.1 头文件与宏定义  #define _CRT_SECURE_NO_WARNINGS #include graphics.h #include conio.h #include math.h#define PI acos(-1.0) #define NUM_LINES 36 // 线条数量 #define BASE_RADIUS 250 // 基础半径 #define _CRT_SECURE_NO_WARNINGS这是为了屏蔽 Visual Studio 中一些不安全函数的警告。#include graphics.h引入 EasyX 图形库的头文件该库用于实现图形绘制。#include conio.h引入控制台输入输出库其中的 _kbhit() 函数可用于检测是否有按键输入。#include math.h引入数学库使用其中的数学函数如 sin()、cos() 等。PI定义圆周率。NUM_LINES设定要绘制的线条数量。BASE_RADIUS设定线条绘制的基础半径。 3.2  HSV函数转RGB颜色函数 // HSV转RGB颜色函数 COLORREF MHSVtoRGB(float H, float S, float V) {float C V * S;float X C * (1 - fabs(fmod(H / 60.0, 2) - 1));float m V - C;float r, g, b;if (H 0 H 60) { r C; g X; b 0; }else if (H 60 H 120) { r X; g C; b 0; }else if (H 120 H 180) { r 0; g C; b X; }else if (H 180 H 240) { r 0; g X; b C; }else if (H 240 H 300) { r X; g 0; b C; }else { r C; g 0; b X; }return RGB((r m) * 255, (g m) * 255, (b m) * 255); } 该函数的作用是把 HSV色相、饱和度、明度颜色空间的颜色转换为 RGB 颜色空间的颜色。H 代表色相取值范围是 0 到 360S 代表饱和度取值范围是 0 到 1V 代表明度取值范围是 0 到 1。依据 H 的不同区间计算出 r、g、b 的值最后将其转换为 RGB 颜色值。 3.3 主函数 int main() {// 初始化图形窗口initgraph(800, 600);setbkcolor(BLACK);cleardevice();int cx getwidth() / 2; // 中心X坐标int cy getheight() / 2; // 中心Y坐标float angle 0.0f; // 全局旋转角度float hue 0.0f; // 颜色色相值// 启用批量绘制防闪烁BeginBatchDraw();while (!_kbhit()) { // 按任意键退出cleardevice();// 更新全局参数angle 0.005f;hue 0.5f;if (hue 360) hue - 360;// 绘制所有线条for (int i 0; i NUM_LINES; i) {// 计算当前线条角度偏移float offset i * (2 * PI / NUM_LINES);// 计算动态半径带波动效果float radius BASE_RADIUS * (1 0.2f * sin(angle * 3 offset));// 计算起点和终点坐标float startAngle angle offset;float endAngle startAngle PI / 2; // 终点角度偏移90度int x1 cx radius * cos(startAngle);int y1 cy radius * sin(startAngle);int x2 cx (radius * 0.6f) * cos(endAngle);int y2 cy (radius * 0.6f) * sin(endAngle);// 设置线条颜色HSV色彩空间渐变setlinecolor(MHSVtoRGB(fmod(hue i * 10, 360), 0.8f, 1.0f));// 绘制线条line(x1, y1, x2, y2);}// 刷新批量绘制FlushBatchDraw();Sleep(10);}// 关闭图形窗口EndBatchDraw();closegraph();return 0; } 初始化部分 initgraph(800, 600)初始化一个大小为 800x600 的图形窗口。setbkcolor(BLACK)把窗口背景颜色设置为黑色。cleardevice()清除当前绘图设备。cx 和 cy计算窗口的中心坐标。angle全局旋转角度初始值为 0。hue颜色色相值初始值为 0。BeginBatchDraw()开启批量绘制避免画面闪烁。 循环部分 while (!_kbhit())只要没有按键输入就持续循环。cleardevice()每次循环都清除绘图设备为绘制新画面做准备。angle 0.005f 和 hue 0.5f更新全局旋转角度和颜色色相值。if (hue 360) hue - 360确保色相值在 0 到 360 之间循环。 线条绘制部分 for (int i 0; i NUM_LINES; i)循环绘制所有线条。offset i * (2 * PI / NUM_LINES)计算每条线条的角度偏移。radius BASE_RADIUS * (1 0.2f * sin(angle * 3 offset))计算动态半径使线条有波动效果。startAngle 和 endAngle计算线条的起点和终点角度。x1、y1、x2、y2计算线条的起点和终点坐标。setlinecolor(MHSVtoRGB(fmod(hue i * 10, 360), 0.8f, 1.0f))设置线条颜色实现 HSV 色彩空间的渐变。line(x1, y1, x2, y2)绘制线条。 刷新和延时部分 FlushBatchDraw()刷新批量绘制将绘制的内容显示在窗口上。Sleep(10)延时 10 毫秒控制动画的速度。 结束部分 EndBatchDraw()结束批量绘制。closegraph()关闭图形窗口。 4.小结  以上便是本篇博客的所有内容如果大家觉得这篇博客能带来知识还请给博主点点赞。
http://www.pierceye.com/news/52965/

相关文章:

  • 海东电子商务网站建设凡科网站模块
  • 静安网站开发外呼系统电销
  • 上海网站制作公司的排名天美传媒传媒官网免费下载
  • 电商网站的推广方式一流的网站建设
  • 监测网站空白栏目网站有备案号
  • 北京到安阳多少公里wordpress网站seo设置
  • 做商城类的网站需要做些什么响应式布局方案
  • 深圳做网站d公司wordpress 皇冠主题
  • 做外贸哪些国外网站可以推广专业手机网站建设平台
  • 怎么做刷qq业务网站wordpress 好用的插件推荐
  • 如何做网站广告图片上海市重点企业名单
  • 网站建设出初级者选哪家做网站如何引流
  • 农产品网站建设结构比较正规的代运营
  • 网站制作案例价格建筑公司网站董事长致辞
  • 钦州做网站免费十八种禁用网站
  • 网站建设设计贵吗简易手机网站开发
  • 钓鱼网站制作者网络推广外包哪个公司做的比较好
  • 用织梦怎么做网站网站降权处理
  • 微网站界面尺寸建设网站需要哪些手续
  • 网站如何更换服务器设计公司简介范文
  • 宿迁盐城网站建设企业怎么做网站报价表
  • 济宁中小企业网站建设做网站赚钱还是做应用赚钱
  • 网站互动交流怎么做手机怎么建设视频网站
  • 网站的基本布局母了猜猜看游戏做网站
  • 无锡网站公司电话wordpress好友添加
  • 江门电商网站设计培训中企动力邮箱登陆
  • 佛山做外贸网站咨询网站开发者工具的网络选项
  • 高端模板建站wordpress文章类型查询
  • 网站建设中+网页代码网站建设同行抄袭
  • 杭州建设项目审批网站做推文的网站