西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
西西首頁 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

GDIPlus_vc6.0加載png,jpg,gif圖

  • GDIPlus_vc6.0加載png,jpg,gif圖
  • 軟件大小:930KB
  • 更新時間:2013-04-24 16:31
  • 軟件語言:中文
  • 軟件廠商:
  • 軟件類別:國產軟件 / 免費軟件 / 編程控件
  • 軟件等級:4級
  • 應用平臺:WinAll, WinXP
  • 官方網站:暫無
  • 應用備案:
好評:50%
壞評:50%

本類精品

軟件介紹

Lyan親自實驗過,絕對可以使用
軟件平臺:WinXP + VC++ 6.0 + GDI+

GDI+是Windows XP中的一個子系統(tǒng),它主要負責在顯示屏幕和打印設備輸出有關信息,它是一組通過C++類實現的應用程序編程接口。顧名思義,GDI+是以前版本GDI的 繼承者,出于兼容性考慮,Windows XP仍然支持以前版本的GDI,但是在開發(fā)新應用程序的時候,開發(fā)人員為了滿足圖形輸出需要應該使用GDI+,因為GDI+對以前的Windows版本中 GDI進行了優(yōu)化,并添加了許多新的功能。

遺憾的是,VC6.0并不能直接使用GDI+,下面介紹一種很方便的在VC6.0中使用GDI+的方法。

步驟如下:


1.將GDI+.rar將其中的Includes和Lib中的文件拷到vc目錄下的Includes和Lib文件夾中;

2.在你將要使用GDI+的工程中,完成初始化工作:

將以下代碼加入StdAfx.h頭文件中:

//加入的頭文件
#include <comdef.h>//初始化一下com口
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#include "GdiPlus.h"
using namespace Gdiplus;
#endif
#pragma comment(lib,"gdiplus.lib")

3.在程序初始化部分加入

//gdi+用到的兩個變量 裝載gdi+
GdiplusStartupInput m_gdiplusStartupInput;
ULONG_PTR m_pGdiToken;
GdiplusStartup(&m_pGdiToken,&m_gdiplusStartupInput,NULL);

4在程序退出部分前加入
//卸載gdi+
GdiplusShutdown(m_pGdiToken);

5在Project->stting->Link->Object/libary中加入gdiplus.lib

這樣你的工程就可以使用GDI+了:

void CPNGDlg::OnButton1()
{
pDC =GetDC();
Graphics graphics( pDC->m_hDC);
Image image(L"walkman.png", FALSE);
graphics.DrawImage(&image, 10,10);
}



用GDI+如何顯示透明背景的PNG文件?樓主ruchimy(泥秋)2005-05-26 17:16:14 在 VC/MFC / 圖形處理/算法 提問
我使用如下代碼:
ImageAttributes imAtt;
imAtt.SetColorKey(Color(0,0,0),Color(10,10,10),ColorAdjustTypeDefault);
graphics.SetSmoothingMode(SmoothingModeAntiAlias);
Image imageBlue(TEXT(".\\res\\NumbersBlue.png"));
graphics.DrawImage (&imageYear,Rect(cx,0,iYearWidth,iYearHeight),0,iYearHeight,iYearWidth,iYearHeight,UnitPixel,&imAtt);

顯示的圖片雖然是透明的,但邊邊有黑點.哪位高手能指點一下?

直接顯示就可以了, 透明是GDI+自己處理的,



在VC6.0時邊要加入以下三句到stdafx.h里邊

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


不要再使用OleLoadPicture了,那會讓你看起來很愚蠢。同樣功能的函數,你看看GDI+會有幾行:

HRESULT ShowPic(const TCHAR* lpstrFile, HDC hDC, int X, int Y, int iWidth, int iHeight)
{
_ASSERT(lpstrFile);
USES_CONVERSION;

// Create bitmap object and load image
auto_ptr<Bitmap> pBmp(new Bitmap(CT2CW(lpstrFile)));
if(!pBmp.get() || Ok != pBmp->LastStatus())
return E_FAILED;

// Draw bitmap on DC
Graphic grp(hDC);
if(Ok != grp.DrawImage(pBmp.get(), X, Y, iWidth, iHeight))
return E_FAILED;
return S_OK;
}







在vc6.0中使用GDI+圖形函數
作者:radcat 文章來源:本站原創(chuàng) 點擊數:3422 更新時間:2007-3-10 15:42:48

原帖及討論:http://bbs.bc-cn.net/dispbbs.asp?BoardID=55&ID=102037

進來總看到一些網友提出一些關于圖形處理方面的問題.

例如怎樣使一個字符串透明輸出,怎樣放大,縮小或旋轉一幅圖片,或將一幅bmp圖片保存為jpg格式,我總是回答使用GDI+圖形函數,那么怎樣使用呢?

下面是我寫的一個簡易教程,第一次寫教程,難免有疏漏還請各位網友指正批評.

GDI+圖形函數,一個組在.net環(huán)境下提供的以取代GDI圖形函數的類,將來會逐漸取代GDI圖形函數.

如果在vc6.0中使用gdi+圖形函數,那么請按以下步驟操作:

1.下載下面的rar文件將其中的Includes和Lib中的文件拷到vc目錄下的Includes和Lib文件夾中.

點擊下載該文件

2新建一個工程(以winsdk框架為例mfc也相同)

將以下代碼加入StdAfx.h頭文件中

//加入的頭文件
#include <comdef.h>//初始化一下com口

#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#include "GdiPlus.h"
using namespace Gdiplus;
#endif
//結束

3在程序初始化部分加入

//gdi+用到的兩個變量
GdiplusStartupInput m_gdiplusStartupInput;
ULONG_PTR m_pGdiToken;
//裝載gdi+
GdiplusStartup(&m_pGdiToken,&m_gdiplusStartupInput,NULL);

4在程序退出部分前加入

//卸載gdi+
GdiplusShutdown(m_pGdiToken);

5在Project->stting->Link->Object/libary中加入gdiplus.lib

好了經過上面幾步我們就可以在程序中使用GDI+了,先試一下吧!

顯示一個透明字符串

Graphics mygraphics(hdc);//創(chuàng)建一個Graphics對象
SolidBrush brush(Color(100,0,0,255));//創(chuàng)建一個筆刷 第一項是透明度 后三項是RGB值
FontFamily fontFamily(L"Latha");選擇一種字體
Font font(&fontFamily,1,FontStyleRegular,UnitInch);
PointF pointF(5,5);

mygraphics.DrawString(L"Hello Word!",-1,&font,pointF,&brush);

或顯示一幅jpg圖像

Graphics imgraphics(hdc);
Image image(L"001.jpg");
imgraphics.DrawImage(&image,0,0);

注意要把001.jpg考到工程目錄下
軟件標簽: GDI

軟件截圖

GDIPlus_vc6.0加載png,jpg,gif圖

其他版本下載

發(fā)表評論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
TOP
軟件下載