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等资源文件
...* 浮雕的实现,IDB_BITMAP是要显示的图片 *\/ BOOL CFuDiao::OnInitDi...
你所说的IDB_BITMAP1是上面函数中的lpszResourceName,也就是指向包含bitmap资源名字的空终止的指针,其实就是bitmap的名字。具体实现应该是这样的:在工程的WorkShop中的ResourceView选项卡中单击Bitmap然后右键选Import,然后选中要加载的文件,之后在Bitmap下面会增加一个文件,即你所新增的文件,把它...
...如何把一个图片框中的数据传到另一个对话框的图片框 最好的程序 谢...
我觉得应该这样 ,把你需要的位图作为背景画刷 TestDlg.h中 CBrush m_brBk;\/\/在public中定义 TestDlg.cpp中 在初始化函数OnInitDialog()中加入:BOOL CTestDlg::OnInitDialog(){ CDialog::OnInitDialog();CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP2);m_brBk.CreatePatternBrush(&bmp);bmp.DeleteO...
怎样使C++编写的程序,在运行时,背景和字改变颜色?
颜色属性由两个十六进制数字指定 -- 第一个为背景,第二个则为 前景。每个数字可以为以下任何值之一:0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 A = 淡绿色 3 = 浅绿色 B = 淡浅绿色 4 = 红色 C = 淡红色 5 = 紫色 D = 淡紫色 6 = 黄色 E =...