当直线段与某象素有交时.ppt

北大计算机系多媒体与人机交互 4.9 不规则边界区域填充方法 区域内部的所有像素都具有颜色old_color,从区域 内部某一像素(x,y)开始对区域进行填充(该像素称为 种子点),将区域内部的所有像素都设置为填充颜色 fill_color。 基本方法是:测试像素(x,y)是否在区域内尚未被 填充的部分,即测试像素(x,y)的颜色,若该像素的颜 色等于old_color且不等于fill_color,则设置该像素的 颜色为fill_color,并对与该像素相邻的像素作同样处理 (递归调用);否则说明该像素在区域外或已被填充过, 不再进行处理。 4.9 不规则边界区域填充方法 void flood_fill_4(int x, y, old_color, fill_color) { int current; current = read_pixel(x, y); if ( current==old_color current!=fill_color ) { write_pixel(x, y, fill_color); flood_fill_4(x, y+1, old_color, fill_color); /* 上 */ flood_fill_4(x, y-1, old_color, fill_color);

文档评论(0)

1亿VIP精品文档

相关文档