vs2005 picture控件显示png

tomatobin 2013-05-09 08:03:07
添加两个picture control,然后在OnPaint()中调用LoadLogo()两次,但为什么只能显示一个控件上的图片?》
void CrossImage(CImage &img)  //对像素进行转换
{
for(int i=0; i<img.GetWidth(); i++)
{
for(int j=0; j<img.GetHeight(); j++)
{
UCHAR *cr = (UCHAR*) img.GetPixelAddress(i,j);
cr[0] = cr[0]*cr[3] / 255;
cr[1] = cr[1]*cr[3] / 255;
cr[2] = cr[2]*cr[3] / 255;
}
}
}
void CTestImageDlg::LoadLogo(CString filePath,UINT nID)
{
// TODO: 在此添加控件通知处理程序代码
CImage image;
image.Load(filePath));
CrossImage(image);

CRect rect;
int cx=image.GetWidth();
int cy=image.GetHeight();


CWnd *pwnd=GetDlgItem(nID);
pwnd->GetWindowRect(&rect);
ScreenToClient(&rect);
pwnd->MoveWindow(rect.left,rect.top,cx,cy,TRUE);


pwnd->GetClientRect(&rect);
CDC *pDc=pwnd->GetDC();
image.Draw(pDc->m_hDC,rect);
ReleaseDC(pDc);
}
...全文
135 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
曾有一个人 2013-06-29
  • 打赏
  • 举报
回复
nID 没写错吧
向立天 2013-06-29
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
wjjll123 2013-06-29
  • 打赏
  • 举报
回复
好吧。我好弱。一直以为pic控件不能加载png图片的

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧