146.矩形区域的颜色填充

简介: 146.矩形区域的颜色填充
#include <stdio.h>
#include <graphics.h>
void main()
{int gd=VGA,gm=VGALO;
 /*registerbgidriver(EGAVGA_driver);*/
 initgraph(&gd,&gm,"e:\\tc\\bgi"); /*设置图形模式*/
 setcolor(YELLOW);
 rectangle(105,105,175,135); /*画正方形*/
 full(120,120,YELLOW); /*调填充函数*/
 getch(); /*等待*/
 closegraph(); /*关闭图形模式*/
}
#define DELAY_TIME 5/*填充点后延长的时间,用来观看填充的过程,单位:毫秒*/
int full(int x,int y,int color1)/*递归的填充函数*/
{int color2,x1,y1;
 x1=x; y1=y;
 if(kbhit())return;
 color2=getpixel(x1,y1); /*读(x,y)点颜色值*/
 if(color2!=color1) /*判断是否与填充色相等*/
 {putpixel(x1,y1,color1); /*画点(x1,y1) */
  delay(DELAY_TIME);
  getch();
  x1++;
  full(x1,y1,color1); /*递归调用*/
 }
 x1=x; y1=y;
 color2=getpixel(x1-1,y1); /*读(x1-1,y1)点颜色值*/
 if(color2!=color1) /*判断是否与填充色相等*/
 {putpixel(x1,y1,color1); /*画点(x1,y1) */
  delay(DELAY_TIME);
  x1--;
  full(x1,y1,color1); /*递归调用*/
 }
 x1=x; y1=y;
 color2=getpixel(x1,y1+1); /*读(x1,y1+1)点颜色值*/
 if(color2!=color1) /*判断是否与填充色相等*/
 {putpixel(x1,y1,color1); /*画点(x1,y1) */
  delay(DELAY_TIME);
  y1++;
  full(x1,y1,color1); /*递归调用*/
 }
 x1=x; y1=y;
 color2=getpixel(x1,y1-1); /*读(x1,y1+1)点颜色值*/
 if(color2!=color1) /*判断是否与填充色相等*/
 {putpixel(x1,y1,color1); /*画点(x1,y1) */
  delay(DELAY_TIME);
  y1--;
  full(x1,y1,color1); /*递归调用*/
 }
 return;
}
相关文章
|
存储 Web App开发 JavaScript
一键上传,无限容量!打造高效图床工具,利用Electron和Gitee搭建自己的私人云存储空间
一键上传,无限容量!打造高效图床工具,利用Electron和Gitee搭建自己的私人云存储空间
626 0
|
3月前
|
人工智能 API 开发工具
阿里云百炼Coding Plan开箱指南:费用价格、用量额度及免费Tokens领取
阿里云百炼Coding Plan是专为AI编程打造的订阅服务,现仅提供Pro版(200元/月),含每月9万次请求额度,支持Qwen3.5-plus、Kimi、GLM-5等多模型。开通百炼可免费领7000万Tokens,需使用专属API Key(sk-sp-开头)及Base URL。
|
4月前
|
人工智能 JavaScript 机器人
OpenClaw(Clawdbot)全场景部署实战记录:阿里云运行集成飞书、Telegram等多端协同配置指南
2026年OpenClaw(曾用名Clawdbot)已成为企业与个人提升工作效率的核心AI工具,其能将自然语言指令转化为实际系统操作,支持飞书、Telegram等多端协同,还可结合阿里云轻量应用服务器实现低成本7×24小时云端运行。本文基于全网实操经验与最新部署方案,打造保姆级OpenClaw部署教程,涵盖阿里云极简部署步骤、云端环境配置、AI模型对接、多渠道接入、功能验证及常见问题排查,文中所有代码命令均可直接复制执行,全程避开指定平台,确保零基础用户也能快速实现OpenClaw的云端部署与多场景使用。
904 4
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
609 9
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
|
程序员 Go
go语言中if 语句
go语言中if 语句
348 3
|
监控 Linux
在Linux中,如何查看系统资源使用情况?
在Linux中,如何查看系统资源使用情况?
|
存储 Kubernetes API
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
|
机器学习/深度学习 存储 自然语言处理
自然语言处理 Paddle NLP - 信息抽取技术及应用
自然语言处理 Paddle NLP - 信息抽取技术及应用
597 0
|
Linux 网络安全 虚拟化
Linux操作系统第一章(Linux操作系统的带入,vmware-17虚拟化软件运用,FinalShell远程连接Linux )
Linux操作系统第一章(Linux操作系统的带入,vmware-17虚拟化软件运用,FinalShell远程连接Linux )
经验大分享:Sched_Boost小结
经验大分享:Sched_Boost小结
509 0