用VC编写一个程序调用一张图片,怎么编写?
1个回答
展开全部
DrawPicture(CRect Rect, int CurStatus) //第二参数用于选择是用那个图片
{
CBitmap bitmap, *pOldBitmap;
CDC SourceDC,*pDC;
pDC=GetDC(); //获得当前窗口的设备
if(pDC==NULL)
{
MessageBox("系统资源不足,请关闭程序!");
return;
}
switch(CurStatus)
{
case 1:
{
bitmap.LoadBitmap(IDB_YOURPICTUREID);//你加入的图片ID
}
break;
default:
break;
}
BITMAP bm;
bitmap.GetBitmap(&bm);
SourceDC.CreateCompatibleDC(pDC); //建立与显示设备兼容的位图
pOldBitmap=SourceDC.SelectObject(&bitmap); //将位图选入内存
pDC->SetStretchBltMode(COLORONCOLOR);
TransparentBlt(pDC->m_hDC,Rect.left,Rect.top,Rect.Width(),Rect.Height(),SourceDC.m_hDC, 0,0,bm.bmWidth,bm.bmHeight,SourceDC.GetPixel(1,1) );
SourceDC.SelectObject(pOldBitmap);
SourceDC.DeleteDC();
ReleaseDC(pDC);
return;
}
{
CBitmap bitmap, *pOldBitmap;
CDC SourceDC,*pDC;
pDC=GetDC(); //获得当前窗口的设备
if(pDC==NULL)
{
MessageBox("系统资源不足,请关闭程序!");
return;
}
switch(CurStatus)
{
case 1:
{
bitmap.LoadBitmap(IDB_YOURPICTUREID);//你加入的图片ID
}
break;
default:
break;
}
BITMAP bm;
bitmap.GetBitmap(&bm);
SourceDC.CreateCompatibleDC(pDC); //建立与显示设备兼容的位图
pOldBitmap=SourceDC.SelectObject(&bitmap); //将位图选入内存
pDC->SetStretchBltMode(COLORONCOLOR);
TransparentBlt(pDC->m_hDC,Rect.left,Rect.top,Rect.Width(),Rect.Height(),SourceDC.m_hDC, 0,0,bm.bmWidth,bm.bmHeight,SourceDC.GetPixel(1,1) );
SourceDC.SelectObject(pOldBitmap);
SourceDC.DeleteDC();
ReleaseDC(pDC);
return;
}
追问
错误 1 error C2065: “CRect”: 未声明的标识符
错误 2 error C2146: 语法错误 : 缺少“)”(在标识符“Rect”的前面)
错误 3 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
错误 4 error C2059: 语法错误 : “)”
错误 5 error C2143: 语法错误 : 缺少“;”(在“{”的前面)
错误 6 error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
怎么改啊?还有图片地址怎么写?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询