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

class mygdiplus
{
  GdiplusStartupInput gdiplusStartupInput;
  ULONG_PTR gdiplusToken;
public:
  mygdiplus()
  {
    GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
  }
  ~mygdiplus()
  {
    GdiplusShutdown(gdiplusToken);
  }
}; Rect rect(20, 20, 326, 326);
Graphics grpx(hdc);
Image* pImage = new Image(TEXT("a1.png"));
//Image* pImage = Gdiplus::Image::FromFile(TEXT("a1.png"));
grpx.DrawImage(pImage,rect);
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps); /*Image image(L"a1.png");
Graphics graphics(hdc);
graphics.DrawImage(&image, 0, 0);*/ //GdiplusStartupInput gdiplusStartupInput;
//ULONG_PTR gdiplusToken;
//GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); Rect rect(, , , );
Graphics grpx(hdc);
Image* pImage = new Image(TEXT("a1.png"));
//Image* pImage = Gdiplus::Image::FromFile(TEXT("a1.png"));
grpx.DrawImage(pImage,rect); delete pImage; // shut down - only once per process
//GdiplusShutdown(gdiplusToken); EndPaint(hWnd, &ps);
return ;
#include <windows.h>
#include <GdiPlus.h>
#pragma comment(lib, "GdiPlus.lib")
using namespace Gdiplus; class mygdiplus
{
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
public:
mygdiplus()
{
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
}
~mygdiplus()
{
GdiplusShutdown(gdiplusToken);
}
}; LRESULT CALLBACK MyWinMain(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);//回调函数(消息的) class cWNDCLASSEX
{
public:
cWNDCLASSEX(HINSTANCE h, int n) :hInstance(h), nCmdShow(n) {};
//WNDCLASSEX wndclass;
void cj();
private:
int nCmdShow;
HINSTANCE hInstance;
//WNDCLASSEX wndclass; }; void cWNDCLASSEX::cj()
{
WNDCLASSEX wndclass;
HBRUSH hBrush = ::CreateSolidBrush(RGB(, , ));
HWND hWnd;
wndclass.cbClsExtra = ;
wndclass.cbSize = sizeof(wndclass);
wndclass.cbWndExtra = ;
wndclass.hbrBackground = hBrush;
wndclass.hCursor = ;
wndclass.hIcon = ;
wndclass.hIconSm = ;
wndclass.lpfnWndProc = MyWinMain;
wndclass.lpszClassName = TEXT("Leo"); //注册窗口时候要的名字,作为参数
wndclass.lpszMenuName = ; //菜单名字
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.hInstance = hInstance; if (RegisterClassEx(&wndclass) == false)
{
//MessageBox(NULL, "注册失败", "提示", MB_OK);
//return 0;
} hWnd = CreateWindow(
TEXT("Leo"),
TEXT("Small Test"),
WS_OVERLAPPEDWINDOW|WS_VSCROLL,
,
,
,
,
NULL,
NULL,
hInstance,
NULL); ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
MSG msg;
while (::GetMessage(&msg, , , ))
{ ::TranslateMessage(&msg); //将得到的消息翻译
::DispatchMessage(&msg); //翻译来的消息发送 } } int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
cWNDCLASSEX a1(hInstance, nCmdShow);
a1.cj();
return ;
} LRESULT CALLBACK MyWinMain(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)//回调函数(消息的)
{
//HBRUSH m_hbr = CreateSolidBrush(RGB(255, 0, 0));
HDC hdc; //设备描述表句柄
PAINTSTRUCT ps;//绘制窗口
//RECT rect;
mygdiplus mygdiplusS;
switch(uMsg)
{ case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps); /*Image image(L"a1.png");
Graphics graphics(hdc);
graphics.DrawImage(&image, 0, 0);*/ //GdiplusStartupInput gdiplusStartupInput;
//ULONG_PTR gdiplusToken;
//GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); Rect rect(, , , );
Graphics grpx(hdc);
Image* pImage = new Image(TEXT("a1.png"));
//Image* pImage = Gdiplus::Image::FromFile(TEXT("a1.png"));
grpx.DrawImage(pImage,rect); delete pImage; // shut down - only once per process
//GdiplusShutdown(gdiplusToken); EndPaint(hWnd, &ps);
return ; }
case WM_CLOSE: //自动退出 ::PostQuitMessage();
break; } return DefWindowProc(hWnd, uMsg, wParam, lParam); //返回消息的默认处理
}

GDI+ 加载PNG图片的更多相关文章

  1. VB6之GDI+加载PNG图片

    原生的VB6不支持PNG个图片,因为刚有VB的时候还没有PNG的概念呢.不过,利用GDI+加载解析个PNG简直是砍瓜切菜般简单. GDI+的模块是我在网上下载的,地址应该是:http://vistas ...

  2. win32用GDI+加载png图片作为背景图

    #include <windows.h> #include <gdiplus.h> /* GDI+ startup token */ ULONG_PTR gdiplusStar ...

  3. VC中使用GDI+实现为按钮加载Png图片

    http://blog.csdn.net/flyfish1986/article/details/5381605 VC中使用GDI+实现为按钮加载Png图片 http://www.codeprojec ...

  4. WebView加载HTML图片大小自适应与文章自动换行

    http://www.brighttj.com/ios/ios-webview-load-html-image-adaptive.html 在很多App中都会使用到webview,尤其是在加载新闻内容 ...

  5. Android ListView 图片异步加载和图片内存缓存

    开发Android应用经常需要处理图片的加载问题.因为图片一般都是存放在服务器端,需要联网去加载,而这又是一个比较耗时的过程,所以Android中都是通过开启一个异步线程去加载.为了增加用户体验,给用 ...

  6. WPF中加载高分辨率图片性能优化

    在最近的项目中,遇到一个关于WPF中同时加载多张图片时,内存占用非常高的问题. 问题背景: 在一个ListView中同时加载多张图片,注意:我们需要加载的图片分辨率非常高. 代码: XAML: < ...

  7. Fresco 使用笔记(一):加载gif图片并播放

    项目总结 --------------------------------------------------------------------- 前言: 项目中图文混合使用的太多太多了,但是绝大部 ...

  8. 图片_ _Android有效解决加载大图片时内存溢出的问题 2

    Android有效解决加载大图片时内存溢出的问题 博客分类: Android Android游戏虚拟机算法JNI 尽量不要使用setImageBitmap或 setImageResource或 Bit ...

  9. Delphi7 第三方控件1stClass4000的TfcImageBtn按钮控件动态加载jpg图片例子

    Delphi7 第三方控件1stClass4000的TfcImageBtn按钮控件动态加载jpg图片例子 procedure TForm1.Button1Click(Sender: TObject); ...

随机推荐

  1. mysql too many connection 解决办法

    SHOW VARIABLES LIKE "max_connections"; SHOW VARIABLES LIKE "wait_timeout"; SET G ...

  2. Windows7系统下优化固态硬盘

    一.AHCI硬盘模式可提高硬盘性能,确定你的固态硬盘是运行在AHCI模式下,打开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesmsahci” ...

  3. IntelliJ IDEA 基本配置入门

    前言:今天下载安装IntelliJ IDEA.随手创建了一个项目,运行Build提示错误. 与大多数用于开发JAVA的IDE类似,不做不论什么配置.编译是不会成功的.因此我尝试对IDEA的配置进行了一 ...

  4. ubuntu安装nginx时提示error: the HTTP rewrite module requires the PCRE library

    ubuntu安装nginx时提示error: the HTTP rewrite module requires the PCRE library 须要安装pcre包. sudo apt-get upd ...

  5. Random Forest 与 GBDT 的异同

    曾经在看用RF和GBDT的时候,以为是非常相似的两个算法,都是属于集成算法,可是细致研究之后,发现他们根本全然不同. 以下总结基本的一些不同点 Random Forest: bagging (你懂得. ...

  6. 汝佳大神的紫书上写错了?uva10048

    算法竞赛入门经典第二版的365页例题11-5噪音.应该是"之和"换成"取最大值","取最小值"还是取最小值 假设我错了,请大家务必指点小弟 ...

  7. 【iOS系列】-UITableViewCell的展开与收缩的实现思路

    UITableViewCell的展开与收缩的实现思路 现在项目中很多地方都会用到,所以我这里介绍一种可以复用的思路,这与文章后面的Swift的实现思路不同,具体大家可自行对比. Demo项目地址 开始 ...

  8. Apache Karaf配置远程调试

    软件环境 apache-karaf-4.0.0 配置方法: 在 bin/karaf.bat 文件里,顶部增加 set KARAF_DEBUG=true 然后.重新启动karaf 启动之后.就可以看到例 ...

  9. 跨域,Content-Type组件

    1,跨域:是浏览器的同源策略 阻止ajax请求不组织src请求 2,一个源的定义:如果两个页面的协议,端口(如果由指定)和域名都相同,则两个页面具有相同的源 下面给出相对http://a.xyz.co ...

  10. css的白富美

    1,CSS(Cascading Style Sheet)是用来装饰HTML的,当浏览器读到这样一个样式的时候,它就会按照这个文档进行格式化(渲染) 2,CSS的组成:选择器和声明,声明又包括属性和属性 ...