VC中利用GDI添加图片

本人笔记,防忘!
解决问题:添加PNG格式的图片
起初分别下载了CGdipButton扩展类以及CButtonST类,均可进行图片的加载。工程应用中,二者均有用到,本来打算合并下二者功能,结果。。。。。。。。
利用CGdipButton时需要加载GDI,下载后将include以及lib放在VC的对应目录下。
代码中的相关配置:
在StdAfx.h中加入:

#include <gdiplus.h>
#pragma comment(lib, "gdiplus.lib")
using namespace Gdiplus;

在C工程名App.h中加入声明:

ULONG_PTR m_gdiplusToken;

在C工程名App.cpp的InitInstance()函数中加入:

Gdiplus::GdiplusStartupInput gdiplusStartupInput; //初始化操作哇
Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);

在C工程名App.cpp的ExitInstance()函数中加入:

Gdiplus::GdiplusShutdown(m_gdiplusToken); //关闭

这样在后续的程序代码中就可利用GDI了。
在对话框上添加图片的例子(在OnPaint中添加):

CClientDC *pDC = new CClientDC(GetDlgItem(IDC_STC_LOG1));//图片控件的ID
CRect rect,rect1;
GetDlgItem(IDC_STC_LOG1)->GetWindowRect(&rect);
Graphics graphics7(pDC->m_hDC); // Create a GDI+ graphics object
DWORD dBufSize7=MultiByteToWideChar(CP_ACP, 0, logPath[0].GetBuffer(0), -1, NULL, 0);
wchar_t * dBuf7=new wchar_t[dBufSize7];  
wmemset(dBuf7, 0, dBufSize7);  
//进行转换  
nRet=MultiByteToWideChar(CP_ACP, 0, logPath[0].GetBuffer(0), -1, dBuf7, dBufSize7); 
Image image7(dBuf7);
graphics7.DrawImage(&image7,0, 0, image7.GetWidth(), image7.GetHeight());

另:动图的加载,网上下载了CPictureEx扩展类,完成该操作。

if (m_colGgl.Load(MAKEINTRESOURCE(IDR_GIF_GGL),_T("gif")))//m_colGgl为CPictureEx控制类
    {
        m_colGgl.Draw();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值