CBrush m_bkBK; /*使用VS2008 * 浮雕的实现,IDB_BITMAP是要显示的图片 */ BOOL CFuDiao::OnInitDialog()

CBrushm_bkBK;//在头文件声明变量/*使用VS2008*浮雕的实现,IDB_BITMAP是要显示的图片*/BOOLCFuDiao::OnInitDialog(... CBrush m_bkBK; //在头文件声明变量

/*使用VS2008
* 浮雕的实现,IDB_BITMAP是要显示的图片
*/

BOOL CFuDiao::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);

m_brBK.CreatePatternBrush(&bmp);

CDC *pDC=m_pic.GetDC();
CRect m_rect;

m_pic.GetClientRect(m_rect);//GetClientRect(m_rect);

COLORREF color1,color2;
BYTE R,G,B;
for(int i=0;i<m_rect.right;i++)

for(int j=0;j<m_rect.bottom;j++)
{
color1=pDC->GetPixel(i,j);
color2=pDC->GetPixel(i+1,j+1);
R=GetRValue(color1)-GetRValue(color2)+128;
G=GetGValue(color1)-GetGValue(color2)+128;
B=GetBValue(color1)-GetBValue(color2)+128;

if(R>255)
{
R=255;
}
else if(R<0)
{
R=0;
}

if(G>255)
{
G=255;
}
else if(R<0)
{
G=0;
}

if(B>255)
{
B=255;
}
else if(R<0)
{
B=0;
}

pDC->SetPixel(i,j,RGB(R,G,B));

}
bmp.DeleteObject();

return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}

HBRUSH CFuDiao::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here
if(pWnd==this)
{
return m_brBK;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
已经附加了IDB_BITMAP1等资源文件
展开
 我来答
陈学阳
2010-09-19 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5572万
展开全部
函数原型:
BOOL LoadBitmap( LPCTSTR lpszResourceName );
你所说的IDB_BITMAP1是上面函数中的lpszResourceName,也就是指向包含bitmap资源名字的空终止的指针,其实就是bitmap的名字。
具体实现应该是这样的:
在工程的WorkShop中的ResourceView选项卡中单击Bitmap然后右键选Import,然后选中要加载的文件,之后在Bitmap下面会增加一个文件,即你所新增的文件,把它的名字设置为上面函数的参数就行了。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式