您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页边缘填充算法

边缘填充算法

来源:飒榕旅游知识分享网


#include

#define round(x) (int)(x+0.5)

#include

EdgeFill(int point[][2], int n,int color)

{ int col,Pxmax,Pxmin,Pymax,Pymin,i,x,y,Ymin,Ymax;

float dx,dy,Xleft;

Pxmax=point[0][0];

Pxmin=point[0][0];

Pymax=point[0][1];

Pymin=point[0][1];

for(

i=1;i{

if(point[i][0]>Pxmax)Pxmax=point[i][0];

if(point[i][1]>Pymax)Pxmax=point[i][1];

if(point[i][0]if(point[i][1]}

for(i=0;i{

dy=point[i+1][1]-point[i][1];

if(dy!=0)

{

dx=(float)(point[i+1][0]-point[i][0])/(float)(dy);

if(dy>0)

{

Xleft=point[i][0];

Ymin=point[i][1];

Ymax=point[i+1][1];

}

else{

Xleft=point[i+1][0];

Ymin=point[i+1][1];

Ymax=point[i][1];

}

for(y=Ymin+1;y<=Ymax;y++){

Xleft=Xleft+dx;

delay(5000);

for(x=round(Xleft+1);xcol=getpixel(x,y);

putpixel(x,y,color-col);

}

}

}

}

}

int main()

{

int

gdriver=DETECT,gmode,point[][2]={{200+100,300},{100+100,50},{50+100,200},{200+100,300}},point1[][2]={{150+100,250},{100+100,100},{75+100,200},{150+100,250}};

initgraph(&gdriver,&gmode,\"\\\c\");

EdgeFill(point1,4,1);

EdgeFill(point,4,4);

getch();

/*closegraph(); */

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务