MFC使用URL读取图片

MFC使用url地址读取图片

该方法读取的作用?

很多情况下我们是使用http协议与后端进行交互的,那么我们MFC如何通过url地址来直接显示图片呢?
下面先来看看我在读取的效果图:
这里写图片描述

准备工作

我的后台是使用.NET Core实现的,在这里我提供了图片的地址:http://localhost:5000/images/picture.jpg (当然该地址你们是使用不了的,读者可以找别人网站里面的图片地址来使用)直接在网页中打开的效果如下:
这里写图片描述
那么我们要如何将该图片显示到MFC里面呢?

实现过程

1、在VS中创建一个MFC项目命名为:ShowImg,之后我们在资源视图中为我们的对话框添加button按钮,将Caption(标题)设置为获取图片,并双击创建button响应函数。
2、我们需要向界面中添加图形控件(Picture Control),工具箱的快捷键为:Ctrl+Alt+X,找到Picture Control控件拖到界面中(这是最简单的使用控件的方法了)
3、右键Picture Control控件,选择属性,ID设置为IDC_PICTURE,Type选择Frame
4、给Picture Control控件添加变量,右键图像控件,选择添加变量,将变量名设置为m_picture
5、这时候我们在ShowImgDlg.h文件中添加类函数:void showimg(char* imgpath);
6、打开ShowImgDlg.cpp文件实现上面的函数:

void CShowImgDlg::showimg(char* imgpath)
{
    if (finder.FindFile(imgpath))
    {
        CRect rect;
        m_picture.GetClientRect(&rect);
        CImage img;
        img.Load(imgpath);
        CDC *pDC = m_picture.GetWindowDC();
        img.Draw(pDC->GetSafeHdc(), rect);
        ReleaseDC(pDC);
    }
}

7、我们回到我们的button响应函数中代码如下:

温馨提示: 该函数名又你的button ID决定,所以这里你的函数名可能跟我的是不同的。

void CShowImgDlg::OnBnClickedButton()
{
    // TODO: 在此添加控件通知处理程序代码

    showimg((LPTSTR)(LPCTSTR)SavePic("http://localhost:5000/images/picture.jpg"));
}

运行项目点击获取图片按钮即可显示图片啦!

猜你喜欢

转载自blog.csdn.net/qq_34199383/article/details/80615481