我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 【讨论】关于任意形状的图形填充算法 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

电子青蛙



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 单身贵族
发贴: 2924
威望: 0
浮云: 1197
在线等级:
注册时间: 2005-09-22
最后登陆: 2008-06-28

5come5帮你背单词 [ deflation // n. 紧缩通货 ]


【讨论】关于任意形状的图形填充算法

图形学上讲了递归算法和扫描线算法
但是个人觉得递归算法对内存占用较多,而且较大一点的图形就会有堆栈溢出
扫描线算法对多图形交叉也显的力不从心了,个人认为哈,这样要对内部外部点进行判断
有没有蝈蝈想到好的填充算法,不是调用API的Floodfill()或者ExFloodfll(),单纯的算法
我也想到一种分叉算法,不过不知道怎么描述,等程序出来了再奉上
顶端 Posted: 2006-10-18 09:56 | [楼 主]
demonwar



年度之星奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 头你妹的
等级: 管理员
家族: 存在与虚无
发贴: 52925
威望: 11
浮云: 1406
在线等级:
注册时间: 2006-08-02
最后登陆: 2018-06-18

5come5帮你背单词 [ enrich /in'rit/ vt. 使富裕,使丰富 ]


等待LZ的作品。。
顶端 Posted: 2006-10-18 10:10 | [1 楼]
胸口碎大锤



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 152
威望: 0
浮云: 1196
在线等级:
注册时间: 2006-09-09
最后登陆: 2006-12-27

5come5帮你背单词 [ fork /fo:k/ n. 叉,分岔 ]


超级技术帖
顶端 Posted: 2006-10-18 10:12 | [2 楼]
电子青蛙



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 单身贵族
发贴: 2924
威望: 0
浮云: 1197
在线等级:
注册时间: 2005-09-22
最后登陆: 2008-06-28

5come5帮你背单词 [ convert /kən'və:t, 'konvə:t/ vt. 使转变,更改;n. 改变信仰者 ]


算法实现,鉴于计算机图形学上有两种图形填充方法,一种是扫描线,但是这种方法在封闭区域内部有图形得情况下会显得很复杂,另一种是泛洪(泛滥)算法,主要思想是递归,堆栈的使用使得在填充大面积区域时很容易出现stack overflow,堆栈溢出,鉴于这些缺点,研究了自己的算法,因为是利用WINDOWS API实现的(用到了GetPixel()和LineTo()函数)所以效率比较低,但是比泛洪算法效率要高,而且对内存占用很少!如果低级语言实现会体现很高的效率。
程序:
1.鼠标左键点击一次设置起点,再次点击设置终点,在起点与终点间画线
2.重复第一步画出你想像得到的任意畸形的封闭区域
3.右键单击封闭区域中任一点,填充
4.由于没有写重画窗口部分,所以对窗口的任何操作(如最小化,大小调整等)都将擦除已画部分,这样也提供了清除已画部分的方法。

大家尽力发挥,能想到什么样的图形都行。发现填充错误时可以贴图报告,如果大家需要原代码可以奉上
这种算法的思想不好表达,但是有点类似于树根--树干--树枝生长的过程。也有点像回溯法。
同时适用于单线条的填充,和内部包含封闭区域的填充。
附件: MyGDI.rar (10 K) 下载次数:7

顶端 Posted: 2006-10-23 21:26 | [3 楼]
电子青蛙



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 单身贵族
发贴: 2924
威望: 0
浮云: 1197
在线等级:
注册时间: 2005-09-22
最后登陆: 2008-06-28

5come5帮你背单词 [ slide /slaid/ vi. 滑,滑动,悄悄地溜走,不知不觉地陷入;n. 滑动,跌落,幻灯片 ]


下面是我测试的一些图形:
远程图片:untitled1.JPG
顶端 Posted: 2006-10-23 21:38 | [4 楼]
rexlove





性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1442
威望: 0
浮云: 1147
在线等级:
注册时间: 2005-11-20
最后登陆: 2012-11-08

5come5帮你背单词 [ generosity /d3enə'rositi/ n. 大度,慷慨,慷慨的行为 ]


源码拿来看看啊 也在学图形学
顶端 Posted: 2006-10-25 21:36 | [5 楼]
demonwar



年度之星奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 头你妹的
等级: 管理员
家族: 存在与虚无
发贴: 52925
威望: 11
浮云: 1406
在线等级:
注册时间: 2006-08-02
最后登陆: 2018-06-18

5come5帮你背单词 [ area /'/əriə/ n. 地区,面积,范围,领域 ]


求源码。。。
顶端 Posted: 2006-10-25 21:42 | [6 楼]
BQ3



性别: 保密 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1277
威望: 0
浮云: 1141
在线等级:
注册时间: 2005-03-11
最后登陆: 2007-06-27

5come5帮你背单词 [ dissatisfied // a. (显出)不满的 ]


期待源代码
顶端 Posted: 2006-10-25 22:18 | [7 楼]
rexlove





性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1442
威望: 0
浮云: 1147
在线等级:
注册时间: 2005-11-20
最后登陆: 2012-11-08

5come5帮你背单词 [ footnote /'futnəut/ n. (书中的)脚注;vt. 为…作脚注 ]


没源码怎么知道算法的效率
顶端 Posted: 2006-10-26 15:51 | [8 楼]
电子青蛙



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 单身贵族
发贴: 2924
威望: 0
浮云: 1197
在线等级:
注册时间: 2005-09-22
最后登陆: 2008-06-28

5come5帮你背单词 [ marine /mə'ri:n/ a. 海的,海产的,航海的,海事的;n. 水兵,船舶,海运业 ]


源码在这里!大家分享
附件: GDI_Fill.rar (21 K) 下载次数:3

顶端 Posted: 2006-10-26 17:02 | [9 楼]
十赌九输



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
家族: 水族馆
发贴: 980
威望: 0
浮云: 1155
在线等级:
注册时间: 2006-10-26
最后登陆: 2006-11-20

5come5帮你背单词 [ groan /grəun/ vi. & n. 呻吟 ]


哈哈,我第一个下载,谢LZ了。。
顶端 Posted: 2006-10-26 17:05 | [10 楼]
电子青蛙



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 单身贵族
发贴: 2924
威望: 0
浮云: 1197
在线等级:
注册时间: 2005-09-22
最后登陆: 2008-06-28

5come5帮你背单词 [ authoritative /o:'θoritətiv/ a. 有权威的,可相信的,命令式的,官司方的,当局的 ]


不用谢!这段时间弄图形学的试验,没有什么时间!
API里面我还实现了线条抗锯齿,也就是反走样,还有透明,也就是老师讲的ALPHA混色,本来不知道叫alpha混色的,结果那天老师讲了才发现与我的想法和所实现的算法不谋而和!重谢了API的画线,画圆,矩形函数等!这些是在抗锯齿前提下的,所以边缘都比较光滑。但是这些函数效率都很低,罪魁祸首就是GetPixel();函数,对每个点的绘制都要用它查看被绘制点的颜色!如果大家需要也可以放源码,不过写的比较杂了!
顶端 Posted: 2006-10-26 17:14 | [11 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.012212(s) query 5, Time now is:06-05 11:13, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号