最新消息:想得多,做的少。一天到晚瞎鸡巴搞。

GDI+实现查看图片

Windows编程 阿虚 1036浏览 0评论

以前就记录了一篇也是用GDI+的方式来进行贴图的文章《MFC的对话框和按钮的PNG贴图》

不过这篇文章放到VS2013下就没什么卵用了。。。 因为VS2013自带了那些GDI+文件了。

"stdafx.h"
#include <comdef.h>//初始化一下com口
#include "GdiPlus.h"
#include <afxcontrolbars.h>
using namespace Gdiplus;
#pragma comment(lib,"gdiplus.lib")

class CModdAndModfAddrDLLApp : public CWinApp
{
    .......
    ULONG_PTR m_gdiplusToken;
}

BOOL CModdAndModfAddrDLLApp::InitInstance()
{
    ....
    GdiplusStartupInput gdiplusStartupInput;
    GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
    ....
}


void CXXXXDLG::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
{
    //接下来你就可以打开各种JPG、PNG...之类的文件格式图片并且在控件上查看了。
    CRect rect;

    GetDlgItem(IDC_BUTTON1)->GetWindowRect(&rect);

    Graphics graphics(GetDlgItem(IDC_BUTTON1)->GetDC()->m_hDC); // Create a GDI+ graphics object

    //m_ImagePath : 图片文件路径
    Image image(m_ImagePath); // Construct an image

    graphics.DrawImage(&image, 0, 0, rect.Width(), rect.Height());

    GetDlgItem(IDC_BUTTON1)->Invalidate(FALSE); //这里参数为FALSE是因为如果为TRUE时会导致图片不停的刷新。
}

转载请注明:虚无 » GDI+实现查看图片

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址