正在加载图片...
IpPtr=(char *)lplmg Data+(BufSize-LineBytes-y*Line Bytes) for(x=0; X<bi bi Width, x++) if(*(lpP+)=0)∥是个黑点 for(k=0k<180;k+=2){ ∥计算距离i i=(long)fabs(x*cos(k *P1/180.0)+y*sin(k*Pl/180.0))) ∥相应的数组元素加1 *(Ip Alpha+i*Alpha+/2)*(lpDistAlphai*Alpha+k/2)+1 TempLine=(MYLINE*)(pMy Line+i*Alpha+k/2) if(y>("*TempLine) topy)i 记录该直线最高点的x,y坐标 *TempLin).topx-x, (TempLin). topy=y if(y<(*TempLine) boty)4 记录该直线最低点的xy坐标 (Te for(i=0; i<(long) Dist*Alpha; i++)i Templine=( MYlINE*(pMyline+i) k=*( Alpha+1) f(k> maxd) ∥找到数组元素中最大的,及相应的直线端点 MaxdLine. topx=("TempLine)topx MaxdLine. topy=(*TempLine) topy MaxdLine. botx=("TempLine) botx Line. boty=( TempLine hDc= GetDC(hwnd) rhp= CreatePenIndirect(&rlp) MoveToEx(hDc, MaxdLine botx, MaxdLine. boty, NULLlpPtr=(char *)lpImgData+(BufSize-LineBytes-y*LineBytes); for (x=0;x<bi.biWidth;x++) if(*(lpPtr++)==0) //是个黑点 for (k=0;k<180;k+=2){ //计算距离 i i=(long)fabs((x*cos(k*PI/180.0)+y*sin(k*PI/180.0))); //相应的数组元素加 1 *(lpDistAlpha+i*Alpha+k/2)=*(lpDistAlpha+i*Alpha+k/2)+1; TempLine=(MYLINE*)(lpMyLine+i*Alpha+k/2); if(y> (*TempLine).topy){ //记录该直线最高点的 x,y 坐标 (*TempLine).topx=x; (*TempLine).topy=y; } if(y< (*TempLine).boty){ //记录该直线最低点的 x,y 坐标 (*TempLine).botx=x; (*TempLine).boty=y; } } } maxd=0; for (i=0;i<(long)Dist*Alpha;i++){ TempLine=(MYLINE*)(lpMyLine+i); k=*(lpDistAlpha+i); if(k > maxd){ //找到数组元素中最大的,及相应的直线端点 maxd=k; MaxdLine.topx=(*TempLine).topx; MaxdLine.topy=(*TempLine).topy; MaxdLine.botx=(*TempLine).botx; MaxdLine.boty=(*TempLine).boty; } } hDc = GetDC(hWnd); rhp = CreatePenIndirect(&rlp); SelectObject(hDc,rhp); MoveToEx(hDc,MaxdLine.botx,MaxdLine.boty,NULL);
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有