为什么MFC动态加载图片失败? 20
我在OnInitDialog()写加入了ontime()这几句CStringsFile;sFile.Format(_T("C:\\Users\\admin\\Deskto...
我在OnInitDialog()写加入了ontime()这几句
CString sFile;
sFile.Format(_T("C:\\Users\\admin\\Desktop\\\XXX\\res\\%d.png", n));
m_hero.Load(sFile);
因为想做序列帧动画,所以是用的名字都为数字的图片,但是老是有错,求大神指教 展开
CString sFile;
sFile.Format(_T("C:\\Users\\admin\\Desktop\\\XXX\\res\\%d.png", n));
m_hero.Load(sFile);
因为想做序列帧动画,所以是用的名字都为数字的图片,但是老是有错,求大神指教 展开
展开全部
CDC::loadBitmap函数
应该有两个重载
一个是按ID加载 另一个就是按文件路径加载
哦 不是CDC的函数 应该是CBitmap的函数
缩放显示图片的方法
在OnPaint中
CPaintDC dc(this);
CBitmap bmp;
bmp.LoadBitmap(IDB_fbb);//按ID加载图片
BITMAP bm;//一个结构体 用来取图片的宽高
bmp.GetBitmap(&bm);
CDC mdc;//源画布
mdc.CreateCompatibleDC(&dc);
mdc.SelectObject(&bmp);
dc.StrechBlt(x,y,宽,高,&mdc,x,y,bm.Width,bm.Height,SRCCOPY);//x,y是目标区域坐标
为控件设置图片自定义成员函数
set_picture(int picture_ID,int image_ID)
{
HBITMAP hBitmap;//句柄登场!
CStatic* p=(CStatic*)GetDlgItem(picture_ID);
hBitmap=(HBITMAP)LoadImage
(
AfxGetInstanceJandle(),
MAKEINTRESOURCE(image_ID),
IMAGE_BITMAP,
0,
0,
LR_LOADMAP3DCOLORS
);
p->ModifyStyle(0xF,SS_BITMAP);
p->SetBitmap(hBitmap);
}
应该有两个重载
一个是按ID加载 另一个就是按文件路径加载
哦 不是CDC的函数 应该是CBitmap的函数
缩放显示图片的方法
在OnPaint中
CPaintDC dc(this);
CBitmap bmp;
bmp.LoadBitmap(IDB_fbb);//按ID加载图片
BITMAP bm;//一个结构体 用来取图片的宽高
bmp.GetBitmap(&bm);
CDC mdc;//源画布
mdc.CreateCompatibleDC(&dc);
mdc.SelectObject(&bmp);
dc.StrechBlt(x,y,宽,高,&mdc,x,y,bm.Width,bm.Height,SRCCOPY);//x,y是目标区域坐标
为控件设置图片自定义成员函数
set_picture(int picture_ID,int image_ID)
{
HBITMAP hBitmap;//句柄登场!
CStatic* p=(CStatic*)GetDlgItem(picture_ID);
hBitmap=(HBITMAP)LoadImage
(
AfxGetInstanceJandle(),
MAKEINTRESOURCE(image_ID),
IMAGE_BITMAP,
0,
0,
LR_LOADMAP3DCOLORS
);
p->ModifyStyle(0xF,SS_BITMAP);
p->SetBitmap(hBitmap);
}
追问
您说的和我的问题没有关系吧...我是直接在文件夹里通过地址加载图片,不是设置图片控件
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询