Gdiplus

#include <Gdiplus.h>
using namespace Gdiplus;

//声明
Gdiplus::GdiplusStartupInput m_gdiplusStartupInput;
ULONG_PTR m_gdiplusToken;
Image * m_pImage;

//构造
GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);

m_pImage= NULL;
CString sPath = _T("images/vk.png");
if (FileExists(sPath))
{
WCHAR buf[128];
wcscpy(buf, CT2CW(sPath));
m_pImage= Image::FromFile(buf);
}

//绘制
Gdiplus::Graphics graphics(dc.GetSafeHdc());
graphics.SetInterpolationMode(InterpolationModeDefault);
graphics.DrawImage(m_pImage, 0, 0, m_rClient.Width(), m_rClient.Height());

//销毁
if (m_pImage)
{
try
{
delete m_pImage;
}
catch (...)
{

}
m_pImage = NULL;
}
GdiplusShutdown(m_gdiplusToken);

时间: 2024-12-26 08:09:56

Gdiplus的相关文章

GDIPlus非典型误用一例

// ** 初始化GDI+ Gdiplus::GdiplusStartupInput gdiplusStartupInput; // ** 该成员变量用来保存GDI+被初始化后在应用程序中的GDI+标识. ULONG_PTR gdiplusToken; Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); Image image( imagePath ); //加载图片 Graphics imageGraph

[ATL/WTL]_[中级]_[使用GDIPlus剪切和缩放图片]

场景: 1. 缩放图片,不用多说,就是需要缩略图和画在界面上这类. 2. 剪切,不用多说,就是剪切一部分图片用于绘制控件背景之类. 3. wxWidget的wxImage都是自带这些功能的直接方法的. Gdiplus::Bitmap* CutImage(Gdiplus::Image* source,int x,int y,int width,int height) { Gdiplus::Rect zoomRect(0, 0, width,height); Gdiplus::Bitmap* pIm

Win32 CreateWindow GdiPlus

#include "stdafx.h" #include "TestGidPlus.h" LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { GdiplusStartupInput gdiplusStartu

【gdiplus.h问题】

之前用GUI+的时候一直都是用的 #include <gdiplus.h> #pragma comment(lib, "gdiplus.lib") using namespace Gdiplus; 但是偶发现当多个文件包含的时候,会报很多错误~~ 1>f:\vs2013\vc\include\gdiplusenums.h(29): error C2146: 语法错误: 缺少";"(在标识符"GraphicsState"的前面)

可能 delphi7 下稳定的最后一版本 GDIPLUS

万一的 blog 说"终于, Delphi XE2 携带 GDI+ 库了 使用了较早的 http://www.progdigy.com"但这个网址已经下不了了,而 http://www.bilsen.com/gdiplus 的又要 delphi2009 以后版本,另外 IGDIPlus 又有比较严重的 bug,得了放一个当前用的上来吧,不知道有没有 bug grp.DrawPath(pen,path); //这里有个 gdi+ 库引入的 bug, 如果是 IGDIPlus 则在这里会形

gdiplus 初始化

// static ULONG_PTR gdiplus_token; ULONG_PTR GdiPlusGraphics::gdiplus_token = 0; void GdiPlusGraphics::Init() { if(!gdiplus_token) { Gdiplus::GdiplusStartupInput StartupInput; GdiplusStartup(&gdiplus_token,&StartupInput,NULL); } } void GdiPlusGrap

GDIplus的初次接触--加载并显示常用格式图片

在没有接触Gdiplus之前,在vc中绘制图片,通常加载一张位图,然后进行贴图.对于现在多种多样的图片格式,之前的GDI并不支持(应该是这样的,呵呵).而使用Gdiplus则可以选择多种图片格式,比如BMP, ICON, GIF, JPEG, Exif, PNG, TIFF, WMF, and EMF. 下面就介绍下首次接触Gdiplus的一个简单应用. 一.包括相应的头文件及引入相应的lib <span style="white-space:pre"> </span

GdiPlus使用方法

GDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出. 在Windows操作系统下,绝大多数具备图形界面的应用程序都离不开GDI,我们利用GDI所提供的众多函数就可以方便的在屏幕.打印机及其它输出设备上输出图形,文本等操作.GDI的出现使程序员无需要关心硬件设备及设备驱动,就可以将应用程序的输出转化为硬件设备上的输出,实现了程序开发者与硬件设备的隔离,大大方便了开发工作. GDI

GDIPlus绘制桌面歌词

功能介绍 採用GDIPlus绘制桌面歌词,相似酷狗.QQ音乐等软件.歌词支持纯色.两色渐变.三色渐变:支持高亮歌词. 实现方法 窗体部分:桌面歌词是个独立的背景透明窗体.能够移动位置,能够鼠标穿透.透明採用WS_EX_LAYERED.UpdateLayeredWindow.鼠标穿透能够增加WS_EX_TRANSPARENT样式.歌词部分:用Graphics::MeasureString取出文字的宽度/高度.把文字增加GDIPlus的路径(GraphicsPath),然后绘制边框(Graphics