zoukankan      html  css  js  c++  java
  • 【C++自绘控件】如何用GDI+来显示图片

    在我们制作一个应用软件的时候往往需要在窗口或控件中添加背景图。而图片不仅有BMP格式的,还有JPEG、PNG、TIFF、GIF等其它的格式。那么如何用jpg格式的图片来当背景呢?

    这里用到了GDI+,顾名思义,其实GDI+是对GDI的优化,在GDI的甚础上添加了其它的许多功能,其中就包括“多种图像格式的支持”。

    下面且看在MFC中是如何用GDI+来显示图片的。

    ====================================================================================================================

    一、首先在“StdAfx.h”头文件中加载静态链接库:

    #ifndef ULONG_PTR
    #define ULONG_PTR unsigned long*
    #include "GdiPlus.h"
    using namespace Gdiplus;
    #pragma comment(lib, "gdiplus.lib")
    #endif


    若不用“StdAfx.h”头文件的也可以直接用下面代码即可:

    #include "GdiPlus.h"
    using namespace Gdiplus;

    二、在***App类或***Dlg类中添加成员变量

    public:
    	GdiplusStartupInput m_gdiplusStartupInput; 
    	ULONG_PTR m_gdiplusToken;


    三、在InitInstance()函数中开启GDI+

    GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);


    四、在ExitInstance()函数中关闭GDI+

    GdiplusShutdown(m_gdiplusToken);


    五、根据图片资源的路径来显示图片,比如在一个OnPaint()函数中

    Graphics graphics(this->GetDC()->m_hDC); 
    Image image(L"res\2013.jpg", FALSE);
    graphics.DrawImage(&image,0,0);




  • 相关阅读:
    使用Redis做MyBatis的二级缓存
    MySQL 类型转换
    mysql store procedure 存储过程
    swagger
    redis 持久化
    redis 发布/订阅 模式
    dfs模板
    二叉树
    拓扑排序
    最大公因数(辗转相除法)
  • 原文地址:https://www.cnblogs.com/riskyer/p/3424257.html
Copyright © 2011-2022 走看看