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

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

电子青蛙



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

5come5帮你背单词 [ modification /modifi'keiən/ n. 修改,改进,缓和,减轻 ]


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

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

有一种默契,叫心照不宣
有一种思念,叫望眼欲穿
有一种感觉,叫妙不可言
有一种幸福,叫与你相伴


顶端 Posted: 2006-10-18 09:56 | [楼 主]
demonwar



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

5come5帮你背单词 [ sequence /'si:kwəns/ n. 连续,系列,次序,顺序 ]


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



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

5come5帮你背单词 [ stammer /'stæmə/ v. 口吃,结结巴巴地说;n. 口吃 ]


超级技术帖
有些男人是很贱的,但我不是;
有些女人是很贱的,但我希望你不是;
这样刻薄的话,我不想直接对你说,但我希望你能看到.
顶端 Posted: 2006-10-18 10:12 | [2 楼]
电子青蛙



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

5come5帮你背单词 [ excess /ik'ses, 'ekses/ n. 超越,超过,超额量;a. 过量的,额外的,附加的 ]


算法实现,鉴于计算机图形学上有两种图形填充方法,一种是扫描线,但是这种方法在封闭区域内部有图形得情况下会显得很复杂,另一种是泛洪(泛滥)算法,主要思想是递归,堆栈的使用使得在填充大面积区域时很容易出现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帮你背单词 [ underground /'Λndəgraund/ a. 地下的,秘密的;n. 地下铁路,地下组织,秘密团体 ]


下面是我测试的一些图形:
远程图片:untitled1.JPG

有一种默契,叫心照不宣
有一种思念,叫望眼欲穿
有一种感觉,叫妙不可言
有一种幸福,叫与你相伴


顶端 Posted: 2006-10-23 21:38 | [4 楼]
rexlove





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

5come5帮你背单词 [ steamer /'sti:mə/ n. 蒸汽车,汽船 ]


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



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

5come5帮你背单词 [ shoulder /'əuldə/ n. 肩;vt. 承担,肩负 ]


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



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

5come5帮你背单词 [ fussy /'fΛsi/ a. 大惊小怪的,挑剔的,烦琐的 ]


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





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

5come5帮你背单词 [ slipper /'slipə/ n. 拖鞋,使鞋 ]


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



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

5come5帮你背单词 [ accumulate /ə'kju:mjuleit/ vt. 积累,积聚;vi. 堆积,积累 ]


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


有一种默契,叫心照不宣
有一种思念,叫望眼欲穿
有一种感觉,叫妙不可言
有一种幸福,叫与你相伴


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



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

5come5帮你背单词 [ yearn /'jə:n/ vi. 渴望,向往 ]


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



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

5come5帮你背单词 [ telegram /'teligræm/ n. 电报 ]


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

有一种默契,叫心照不宣
有一种思念,叫望眼欲穿
有一种感觉,叫妙不可言
有一种幸福,叫与你相伴


顶端 Posted: 2006-10-26 17:14 | [11 楼]
我来我网·5come5 Forum » 程序员之家

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