MFC图像处理软件 地图 不显示图片对话框
2014-07-08 16:13
393 查看
int CQueryDlg3::Index (COLORREF Color)
{
BYTE R = GetRValue(Color);
BYTE G = GetRValue(Color);
BYTE B = GetRValue(Color);
double mindis = 1000;
int m;
for (int i = 0; i < mapdatanum; i++)
{
double tmpdis = sqrt((R - mapdata[i].R)*(R - mapdata[i].R)
+ (G - mapdata[i].G)*(G - mapdata[i].G)
+ (B - mapdata[i].B)*(B - mapdata[i].B));
if (tmpdis < mindis)
{
mindis = tmpdis;
m = i;
}
}
if (mindis < 10)
return m;
else return 1000;
}
问题出在ctrl复制了第一行的BYTE R = GetRValue(Color);
但是后面函数没有将R改成GetGValue GetBValue
这个问题的debug耗时接近3个小时
但是学会了很多东西
比如如何加断点
如何在timer函数中让程序停下
如下
/*
if(abs(NewX - 531) + abs(NewY - 70) < 20)
{
int a = 0;/////////test
}*/
让鼠标在相应位置时timer函数停下跟踪
十分有用!
{
BYTE R = GetRValue(Color);
BYTE G = GetRValue(Color);
BYTE B = GetRValue(Color);
double mindis = 1000;
int m;
for (int i = 0; i < mapdatanum; i++)
{
double tmpdis = sqrt((R - mapdata[i].R)*(R - mapdata[i].R)
+ (G - mapdata[i].G)*(G - mapdata[i].G)
+ (B - mapdata[i].B)*(B - mapdata[i].B));
if (tmpdis < mindis)
{
mindis = tmpdis;
m = i;
}
}
if (mindis < 10)
return m;
else return 1000;
}
问题出在ctrl复制了第一行的BYTE R = GetRValue(Color);
但是后面函数没有将R改成GetGValue GetBValue
这个问题的debug耗时接近3个小时
但是学会了很多东西
比如如何加断点
如何在timer函数中让程序停下
如下
/*
if(abs(NewX - 531) + abs(NewY - 70) < 20)
{
int a = 0;/////////test
}*/
让鼠标在相应位置时timer函数停下跟踪
十分有用!
相关文章推荐
- Opencv (Opencv2)结合MFC学习数字图像处理【3】---显示图片
- 基于mfc数字图像处理的小软件pdd-改变图片的大小
- 基于mfc数字图像处理的小软件pdd-转换图片成RGB通道,反色,黑白,灰度图片
- 【数字图像处理】 二.MFC单文档分割窗口显示图片
- 基于mfc的数字图像处理的小软件pdd的诞生-打开图片及保存图片
- Opencv (Opencv2)结合MFC学习数字图像处理---显示图片
- (转)Opencv (Opencv2)结合MFC学习数字图像处理【3】---显示图片
- 使用QT实现一个图像处理软件1 —— 图片的加载和显示
- opencv图像处理2--打开图片并显示
- MFC对话框显示图片
- Android图片处理:识别图像方向并显示
- Opencv (Opencv2)结合MFC学习数字图像处理---图片解码(3)
- vc/mfc获取rgb图像数据后动态显示及保存图片的方法
- MFC开发心得——对话框显示背景图片
- MFC 在对话框显示图片的多种方法
- 在MFC对话框中显示图片的三种方法(有两种使用OpenCv)
- MFC 对话框全屏显示图片
- 美化自己的对话框--MFC显示GIF动画图片
- vc/mfc获取rgb图像数据后动态显示及保存图片的方法
- Opencv (Opencv2)结合MFC学习数字图像处理---图片解码(1)