VS2010用MFC文件对话框实现如下功能,点击“打开”按钮,选一张图片显示到图片控件中,程序该怎么写?
发布网友
发布时间:2022-05-27 16:43
我来回答
共1个回答
热心网友
时间:2023-11-04 12:28
这样??? GIF动图, 请单击一下图片
追问是的是的
追答
picture控件ID为: IDC_STATIC_PNG
在button响应函数中:
CFileDialog fileDlg(TRUE, _T("png"), NULL, 0, _T("png Files(*.png)|*.png||"), this);
fileDlg.DoModal();
CString strFilePath;
strFilePath = fileDlg.GetPathName();
if (strFilePath == _T(""))
{
return;
}
CRect rc;
GetDlgItem(IDC_STATIC_PNG)->GetClientRect(rc);
CImage image;
image.Load(strFilePath); //图片文件路径
if (image.GetBPP() == 32)
{
int i; int j;
for (i = 0; i < image.GetWidth(); i++)
{
for (j = 0; j < image.GetHeight(); j++)
{
byte *pByte = (byte *)image.GetPixelAddress(i, j);
pByte[0] = pByte[0] * pByte[3] / 255;
pByte[1] = pByte[1] * pByte[3] / 255;
pByte[2] = pByte[2] * pByte[3] / 255;
}
}
}
CDC* dc;
dc = GetDlgItem(IDC_STATIC_PNG)->GetDC();
image.Draw(dc->m_hDC, rc);
ReleaseDC(dc);