我现在有一幅图,要进行处理前需要初始化一些参数,其中就需要用鼠标点击在图上取得若干个点的像素值 ,应该怎么写这段代码呢?
解决方案 »
- 求助。Cmarkup解析xml的问题
- sndPlaySound函数不断重复播放时,有实效的时候吗?
- 蓝屏,Break instruction exception错误提示
- 在局域网中如何获取对方主机名,给30分
- 用一段cryptoapi函数做MD5,为什么提示HCRYPTPROV等类型,函数未定义
- 各位大侠有个疑难问题请多执教。有关实数类型的数的显示问题。
- 讨论一下P2P文件共享软件的设计和技术实现.
- 有谁用过BCG,为什么用向导做文本编辑器时,以前CRichEditView生成的程序,popupmenu无效,而用CEditView则可以
- 请问要实现远程桌面控制,怎样实现?哪里有参考资料下载?
- CRichEditView实现文件拖放打开功能,请高手指点。
- 对话框按钮。。。
- 如何判断一个TCP连接已经中断了?
CXXVIEW::dosomething()
{1....................//这一段就是我说的鼠标取像素初始化的地方,比如把相应的像素值存到数组a里2.........//这段是我根据a的内容来处理的代码
}我现在就不知道1这部分怎么写。
OnLButtonDown()
{
if(m_bDoSomething)
{
....... //GetPixel();
}
}CXXVIEW::dosomething()
{
m_bDoSomething = TRUE;
1....................//这一段就是我说的鼠标取像素初始化的地方,比如把相应的像素值存到数组a里 m_bDoSomething = FALSE;
2.........//这段是我根据a的内容来处理的代码 }
//一个全局变量,楼上已经说过的。
BOOL CXX::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(::TranslateAccelerator(AfxGetMainWnd()->m_hWnd,g_hAccelTable,pMsg))
return TRUE;
if(pMsg->message==WM_LBUTTONDOWN)
{
if(全局变量为真)
//取得象素,把相应的像素值存到数组a里;
//处理a的代码
}
return CFormView::PreTranslateMessage(pMsg);
}
如果按照你说的这样 好像不行吧?
然后GetPixel().
提示:方法和上面讲的一样,设一个BOOL,在弹出对话框输入需要取得像素点数目后(设为TRUE)才把点保存进来,
取好后设回FALSE.
{
// 获取像素值,需要判断坐标点是否在图片上
COLOREFF clr = GetPixel(int x, int y);
DoSomething(/** 像素值 */)
} DoSomething(/** 像素值 */)
{
int ncount = GetPixelCount();
if ( ncount > m_ncount )
{
// 处理像素值 // 处理结束后保存结果 // 将像素值数组或者其他保存像素队列清空
}
else
{
// 保存像素值
}
}