各个大侠,救命!
小弟再画曲线时遇到了一些问题请各位指点一下!!拜托拉!
我的图象格式是:
B G B G。。。。
G R G R。。。。
B G B G。。。。
G R G R。。。。
当我点击图象的某一行时,当鼠标左键按下时,判断如果是单行的话就输出该行的B分量的值。最终连线成一曲线。代码如下:
注:pBArray[IMGAEHEIGHT/2][IMAGEWIDTH/2]为一个二维数组用于存放B分量的值。XPos和256是在页面上显示的一个参数。主要用于显示好看。CyClient为鼠标点图象所获得的行值。图象的大小IMAGEWIDTH*IMAGEHEGHT。
if(CyClient%2==0)
{
MoveToEx(hdc,XPos+10,(256-pBArray[(CyClient/2)][0])+YPos+10,NULL);
for(i=0;i<IMAGEWIDTH;i+=2)
{
aptB[i].x = i + XPos +10;
aptB[i].y = (256-pBArray[(CyClient/2)][i/2])+YPos+10;
}
PolylineTo(hdc,aptB+1,(IMAGEWIDTH/2-1));
}
else
{
}
小弟一运行,点击BUTTON时,弹出画图对话框,但是当我点击图象上的点时,却推出了整个系统。我尝试了把for循环改变成话线就能成功。
for(i=0;i<IMAGEWIDTH;i+=2)
{
MoveToEx(hdc,XPos+10,(256-pBArray[(CyClient/2)][0])+YPos+10,NULL);
LineTo(hdc,i+XPos+10,(256-pBArray[(CyClient/2)][i/2])+YPos+10);
}
到这里我才知道肯定是我那循环错了,但是我最后改成上面那循环对应关系一点也没有错。有谁知道我哪里出错了,请指点一下拉!!
问题点数:20、回复次数:1Top
1 楼duangexin521(duangexin)回复于 2005-11-03 20:51:31 得分 0
已经搞定咯!!!:)Top




