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

网站开发文档jsp做的大型网站

网站开发文档,jsp做的大型网站,青海宾馆网站建设公司,纸箱 东莞网站建设今天写程序中有一个地方用到了漫水填充#xff08;FloodFill#xff09;。所谓漫水填充#xff0c;简单来说#xff0c;如下图中左图#xff0c;白布上有一块红色的斑点#xff0c;在这个红色的斑点上点一下#xff0c;就自动选中了和该点相连的红色的区域#xff0c;接…今天写程序中有一个地方用到了漫水填充FloodFill。所谓漫水填充简单来说如下图中左图白布上有一块红色的斑点在这个红色的斑点上点一下就自动选中了和该点相连的红色的区域接着将该区域替换成指定的颜色如下图中右图所示。 GDI中有一个函数 ExtFloodFill 可以用于漫水填充。函数原型是 BOOL ExtFloodFill(HDC hdc,int nXStart,int nYStart,COLORREF crColor,UINT fuFillType) 在C#中使用这个函数并不好用这里有一个例子 http://www.codeproject.com/Feature/WickedCode.aspx?msg2364985 。照猫画虎的写了一遍结果返回的结果是false——填充失败。 对win32这些东西看着就烦也没心思去看到底哪里出错了干脆自己写一个 FloodFill 算法得了。 算法很简单 1将最初的点作为种子点压入栈中 2弹出一个种子点把它涂成目标颜色 3对于种子点来说和它相邻的有4个像素判断这4个像素中的颜色是否是背景色如果是则作为新的种子点入栈 4循环至栈空。 实现起来也很简单一共只需要22行代码比用DllImport去调用ExtFloodFill代码量还少 void FloodFill(ImageRgb24 img, Point location, Rgb24 backColor, Rgb24 fillColor) {     int width img.Width;     int height img.Height;     if (location.X 0 || location.X width || location.Y 0 || location.Y height) return;     if (backColor fillColor) return;     if (img[location.Y, location.X] ! backColor) return;     StackPoint points new StackPoint();     points.Push(location);     int ww width -1;     int hh height -1;     while (points.Count 0)     {         Point p points.Pop();         img[p.Y, p.X] fillColor;         if (p.X 0 img[p.Y, p.X - 1] backColor)         {             img[p.Y, p.X - 1] fillColor;             points.Push(new Point(p.X - 1, p.Y));         }         if (p.X ww img[p.Y, p.X 1] backColor)         {             img[p.Y, p.X 1] fillColor;             points.Push(new Point(p.X 1, p.Y));         }         if (p.Y 0 img[p.Y - 1, p.X] backColor)         {             img[p.Y - 1, p.X] fillColor;             points.Push(new Point(p.X, p.Y - 1));         }         if (p.Y hh img[p.Y 1, p.X] backColor)         {             img[p.Y 1, p.X] fillColor;             points.Push(new Point(p.X, p.Y 1));         }     } } 有这个算法为基础类似photoshop的魔术棒选择工具就很容易实现了。漫水填充FloodFill是查找和种子点联通的颜色相同的点魔术棒选择工具则是查找和种子点联通的颜色相近的点将和初始种子点颜色相近的点压进栈作为新种子。 在photoshop cs5中新引进了快速选择工具这个工具看起来很神奇它背后的算法也研究了有些年了就是抠图技术有兴趣的可以去研究这里有一篇很好的综述文章《Image and Video Matting: A Survey》。
http://www.yutouwan.com/news/140645/

相关文章:

  • 万维网注册域名后怎么导入网站用dw做网页的步骤
  • 百度网站模板免费下载中国建设银行网站首页河西网点
  • 前端做网站如何调接口网站设计尺寸
  • 秦皇岛网站推广价钱深圳市网站哪家做的好
  • 做网站需要icp怎么加入电商
  • 网站建设免费加盟代理如何自己做的网站
  • 对网站和网页的认识室内设计培训机构排名前十
  • 上海美容网站建设dedecms手机网站模板安装教程
  • 莆田外贸网站建设做网站费免图片网站
  • 移动网站建设方案wordpress 爆路径
  • 做网站用什么域名好关于网站开发网页上传和网站发布
  • 用wordpress建站域名和空间哪里买比较好百度推广一年大概需要多少钱
  • WordPress北京百度网站排名优化
  • 金乡做网站手机怎么做程序
  • 哪家网站推广好专业做网站关键词排名下掉
  • 网站开发登录要做哪些验证我的世界是怎么做的视频网站
  • c 网站开发框架广西住房和建设厅官网
  • 网站托管是什么3d建模是干什么的
  • seo云优化软件破解版抖音seo排名系统公司
  • 贵阳德天信网站建设php wordpress配置
  • 西南城乡建设部网站首页wordpress插件商品对比
  • 做微商哪个网站比较好建设网站需要什么资质
  • 移动互联网开发平台基于linux安卓网站seo插件
  • 佛山网站搭建公司大学生网站设计作业
  • 樟木头镇网站建设创建网站超市
  • 北京网站制作招聘网做网站建设最好学什么
  • 能赚钱的网站个人pc wordpress
  • 广厦建设集团官方网站无锡网站建站公司
  • 能自己做网站吗旅游网站的网页设计参考文献
  • 百度小程序给网站做链接公司招聘网站排行榜