| 赞 | 13 |
| VIP | 0 |
| 好人卡 | 0 |
| 积分 | 21 |
| 经验 | 70950 |
| 最后登录 | 2025-3-14 |
| 在线时间 | 740 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 2147
- 在线时间
- 740 小时
- 注册时间
- 2010-9-6
- 帖子
- 338
|
4楼

楼主 |
发表于 2014-7-8 11:29:21
|
只看该作者
SuperMario 发表于 2014-7-8 07:39 ![]()
逐行或者逐列扫描,拿逐行来说,自左向右获取每个像素,遇到多边形边界开始填充每个像素,超过边界停止填充 ...
我开始就是按这种方法填充的、、这是我的代码
bitmap 是 绘制有那个多边形的 位图
px, py 分别是 多边形每个的顶点的 x ,y 坐标组成的数组
color 是填充颜色
side_color 是边界的颜色
def fill_block(bitmap,px,py,color = Color.new(255,255,255),side_color = Color.new(255,255,255))
draw = false
maxx,minx,maxy,miny = px.max,px.min,py.max,py.min
for x in minx+1...maxx
for y in miny+1...maxy
draw = !draw if bitmap.get_pixel(x, y) == side_color
bitmap.set_pixel(x, y, color) if draw
end
draw = false
end
end
可是不行、、 |
|