RT
解决方案 »
- 提示:error LNK2001: 无法解析的外部符号 "class Linklist link" (?link@@3VLinklist@@A)
- Cmenu 怎么添加PageUP,pageDown等键盘的响应
- 怎样在工具栏按钮下拉菜单中加入单选框?
- 跪求答案
- 主线程判断子线程完全结束后再返回,怎么实现?
- 求书《Visual C++ 5 Active X编程指南》 - 1000 分求 不够以后加
- 一个关于listbox的问题
- 诚心求教,Up有分
- 在COM接口中添加接口函数. 编译连接时出现语法错误," myproject.idl(24) : error MIDL2025 : syntax error : expecting a type specifica
- 一个类向导的错误,请赐教,不胜感激,急
- JavaScript调用c++
- 图像分割,提取出图像中需要的一部分目标区域,都是根据灰度值来分割的么?
m_pImage = Image::FromFile((LPCWSTR)strFileName); PixelFormat pf = m_pImage->GetPixelFormat();
int nWidth = m_pImage->GetWidth();
int nHeight = m_pImage->GetHeight(); BitmapData Bitdata;
Rect rc(0,0,nWidth,nHeight);
((Bitmap *)m_pImage)->LockBits(&rc, ImageLockModeRead, pf, &Bitdata); BYTE * p = (BYTE *)Bitdata.Scan0;
BYTE * pA = NULL; //创建区域
CRgn rgnImage;
rgnImage.CreateRectRgn(0,0,0,0);
for (INT nYPos=0;nYPos<nHeight;nYPos++)
{
for (INT nXPos=0;nXPos<nWidth;nXPos++)
{
INT nXStartPos=nXPos;
//透明判断
do
{
pA = (p + nWidth*nYPos+nXPos*4);
BYTE by = *pA;
if ((*pA) == 255) break;
} while ((++nXPos)<nWidth); if ((nXPos-nXStartPos)>0)
{
//创建区域
CRgn RgnUnite;
RgnUnite.CreateRectRgn(nXStartPos,nYPos,nXPos,nYPos+1); //合并区域
CombineRgn(rgnImage,RgnUnite,rgnImage,RGN_OR);
}
}
} ((Bitmap *)m_pImage)->UnlockBits(&Bitdata);这个是我写的 但是好像不对,不知道哪出了问题
m_pImage = Image::FromFile((LPCWSTR)strFileName); PixelFormat pf = m_pImage->GetPixelFormat();
int nWidth = m_pImage->GetWidth();
int nHeight = m_pImage->GetHeight(); BitmapData Bitdata;
Rect rc(0,0,nWidth,nHeight);
((Bitmap *)m_pImage)->LockBits(&rc, ImageLockModeRead, pf, &Bitdata); BYTE * p = (BYTE *)Bitdata.Scan0;
BYTE * pA = NULL; //创建区域
CRgn rgnImage;
rgnImage.CreateRectRgn(0,0,0,0);
for (INT nYPos=0;nYPos<nHeight;nYPos++)
{
for (INT nXPos=0;nXPos<nWidth;nXPos++)
{
INT nXStartPos=nXPos;
//透明判断
do
{
pA = (p + 4*nWidth*nYPos+nXPos*4);
if ((*pA) == 255) break;
} while ((++nXPos)<nWidth); if ((nXPos-nXStartPos)>0)
{
//创建区域
CRgn RgnUnite;
RgnUnite.CreateRectRgn(nXStartPos,nYPos,nXPos,nYPos+1); //合并区域
CombineRgn(rgnImage,RgnUnite,rgnImage,RGN_OR);
}
}
} ((Bitmap *)m_pImage)->UnlockBits(&Bitdata); SetWindowRgn(rgnImage, TRUE);搞定结贴 谢谢各位