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

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

电子青蛙



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

5come5帮你背单词 [ total /'təutl/ a. 总的,全部的;n. 总数,总计;vt. 计算…的总和;vi. 总计,合计 ]


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

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



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

5come5帮你背单词 [ kerosene /'kerəsi:n/ n. 煤油 ]


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



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

5come5帮你背单词 [ until /ən'til/ 直到…为止,在…以前,直到… ]


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



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

5come5帮你背单词 [ horsepower /'ho:spauə/ 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帮你背单词 [ awake /ə'weik/ vt. 唤醒,使醒,使觉醒;vi. 醒来,醒悟,觉醒;a. 醒着的,警觉的,意到识的 ]


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





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

5come5帮你背单词 [ couple /'kΛpl/ n. 县 ]


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



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

5come5帮你背单词 [ draw /dro:/ vt. 拉,拨,惹,引起,画;vi. (向某方向)移动,来临 ]


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



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

5come5帮你背单词 [ by /bai/ prep. 靠近,在…一边,通过…达到,根据,按照,由,被;adv. 在近旁,经过 ]


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





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

5come5帮你背单词 [ oak /əuk/ n. 橡树,橡木 ]


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



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

5come5帮你背单词 [ bad /bæd/ a. 坏的,有害的,不利的,低劣的,拙劣的,腐败的,臭的,严重的,厉害的 ]


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

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



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

5come5帮你背单词 [ social /'səuəl/ a. 社会的,社交的,交际的 ]


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



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

5come5帮你背单词 [ inform /in'fo:m/ n. 通知,告诉,向…报告;vi. 检举,告发 ]


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

Total 0.010530(s) query 5, Time now is:11-24 02:47, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号