GDI+ 使用指南(basic guiding of GDI plus )
其實(shí)這個(gè)也沒有什么用,畢竟已經(jīng)是過時(shí)的技術(shù)了。不過技術(shù)的更新跟實(shí)際的使用還是有差距了,免不了還是要用這種過時(shí)的技術(shù),所以還是記錄下來,方便以后查閱。
GDI+沒記錯(cuò)的話是跟隨XP誕生的,是XP系統(tǒng)上的圖形繪制系統(tǒng)(以前的是GDI),GDI+相對于GDI提供了一些新的特性,比如漸變的畫刷,支持多種圖像格式等等。不過我覺得最大的變化,還是編程模型上的變化。GDI+使用了面向?qū)ο蟮乃枷?#xff0c;對接口進(jìn)行了類封裝,使用更加方便。
在應(yīng)用程序中使用GDI+庫應(yīng)該遵循一下步驟:
1.包含Gdiplus.h頭文件,如果圖方便,加上:using namespace Gdiplus;這樣使用GDI+中的任何東西就不需要重新指定命名空間了。
2.鏈接DLL的導(dǎo)入庫Gdiplus.lib。在VS中有兩種方法,一是直接在項(xiàng)目屬性->鏈接->輸入中填入Gdiplus.lib;二是直接使用編譯器原語:#pragma comment(lib, "Gdiplus.lib")
3.在調(diào)用任何GDI+函數(shù)前一定要調(diào)用GDI+庫初始化函數(shù)GdiplusStartup(),初始化GDI+庫。
4.在確定不需要使用任何GDI+函數(shù)并且所有GDI+對象均已銷毀(變量超過了生存期),需要調(diào)用GDI+關(guān)閉函數(shù)GdiplusShutdown()。GDI+支持多線程,所以可以在任意一個(gè)線程中調(diào)用。
下面講下在實(shí)際MFC 單/多文檔程序中,如何使用GDI+圖形系統(tǒng)(程序名叫:GdiplusTest)。
1.在Stdafx.h頭文件中添加如下代碼
#pragma comment(lib, "Gdiplus.lib")
2.在CGdiplusTestApp類中,添加兩個(gè)變量,用于GDI+初始化函數(shù)。
private:Gdiplus::GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
3.在CGdiplusTestApp::InitInstance()函數(shù)中添加如下代碼,一定要在pMainFrame->ShowWindow(m_nCmdShow)之前,建議添加在CWinAppEx::InitInstance()之后。
// Initialize GDI+.Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
4.重載CGdiplusTestApp的ExitInstance()函數(shù),然后添加GDI+關(guān)閉函數(shù)。
Gdiplus::GdiplusShutdown(gdiplusToken);5.在CGdiplusTestView::OnDraw(CDC* pDC)函數(shù)中使用GDI+類,顯示圖片lena.jpg
Gdiplus::Graphics graphics(pDC->GetSafeHdc());Gdiplus::Image image(L"lena.jpg");
graphics.DrawImage(&image, 10, 10);
總結(jié)
以上是生活随笔為你收集整理的GDI+ 使用指南(basic guiding of GDI plus )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡网上登陆密码怎么设置
- 下一篇: WINCE BSP中source文件中的