热情软件屋

 

如何实现魔术棒的功能


编号: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回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio