如何实现魔术棒的功能
编号:QA003107
建立日期: 2000年7月3日 最后修改日期:2000年7月3日
所属类别:
李荣俊:
操作系统:win95/98
编程工具:vb /vc
问题:像PHOTOSHOP等图形图象处理软件,其中有一个魔术棒的功能,当选取某一点后,相同颜色的区域将被一条流动“蚂蚁线”包围。请问如何实现这一效果,具体的算法如何?谢谢!
水平: 中级
回答:
code list:
void antline(Point StartPoint)
/* StartPoint 是区域内部点 */
{
static int Counter;
Point EdgePoint;
do{
从点(StartPoint)寻找边界;
得到边界点坐标(EdgePoint);
if(((EdgePoint.x+Counter)%20<10)&&
((EdgePoint.y-Counter)%20<10))
//蚂蚁线每段长度为10,间距为10;
{
画边界点(EdgePoint);
}
}until(找到所有边界点);
Counter++;
}
/* the end */
I would like to discuss with you if you had any question=)
Email:saga0036_cn@sina.com
此问题由saga0036_cn回答。
| |
|
|
| |
|
|