VC6.0中gdiPlus的使用以及一个小例子

原创 2005年03月03日 09:04:00

1.GDIPlus需要下载sdk开发包

2.在tool,option,direction,include files下设置头文件路径.../MICROSOFT SDK/INCLUDE,在tool,option,direction,libaray  files下设置lib路径.../MICROSOFT SDK/SDK8/LIB,在project, setting, link, object/modules libaray里面输入gdiplus.lib.

注意,路径一定要放在最上层,还有,一定要是绝对路径,上面的...需要自己补充完整

3.新建一个单文档工程XXX,给XXXApp类添加成员变量

protected:
   GdiplusStartupInput m_gdiplusStartupInput;
   ULONG_PTR           m_gdiplusToken;
在XXXApp::InitInstance()里面添加:GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);

重载XXXApp::ExitInstance(),在里面添加:GdiplusShutdown(m_gdiplusToken);

注意,以上修改过的文件前面要加上以下语句:

#include <GdiPlus.h>
using namespace Gdiplus;

上面的事情做完,你就可以在程序中使用gdiplus了,以下是一个把bmp转换成jpg的小例子:

int GetEncoderClsid(const WCHAR* format, CLSID* pClsid)
{
   UINT  num = 0;          // number of image encoders
   UINT  size = 0;         // size of the image encoder array in bytes

   ImageCodecInfo* pImageCodecInfo = NULL;

   GetImageEncodersSize(&num, &size);
   if(size == 0)
      return -1;  // Failure

   pImageCodecInfo = (ImageCodecInfo*)(malloc(size));
   if(pImageCodecInfo == NULL)
      return -1;  // Failure

   GetImageEncoders(num, size, pImageCodecInfo);

   for(UINT j = 0; j < num; ++j)
   {
      if( wcscmp(pImageCodecInfo[j].MimeType, format) == 0 )
      {
         *pClsid = pImageCodecInfo[j].Clsid;
         free(pImageCodecInfo);
         return j;  // Success
      }   
   }

   free(pImageCodecInfo);
   return -1;  // Failure
}

void BMP2JPG(CString strBMPFile,CString strJPGFile)
{
    CLSID  encoderClsid;
    WCHAR  strGuid[39];
    if(GetEncoderClsid(L"image/jpeg", &encoderClsid) >= 0)
    StringFromGUID2(encoderClsid, strGuid, 39);
 
    Image image(strBMPFile.AllocSysString());
    image.Save(strJPGFile.AllocSysString(),&encoderClsid,NULL);

}
当然,上面的例子所在文件前面也必须加上

#include <GdiPlus.h>
using namespace Gdiplus;

在 VC6 中使用 GdiPlus(三)

Step2:安装    理论上讲,把下载回来的这些文件放在硬盘上的任意一个位置都是可以的,只要在 Step3 中进行相应正确的配置,都能够在 VC6 中把 GdiPlus 用起来。我采取的做法是:(1...
  • duxiuxing
  • duxiuxing
  • 2007年05月31日 13:18
  • 4183

GdiPlus使用方法

GDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。 在Windows操作系统下...
  • bingdianlanxin
  • bingdianlanxin
  • 2015年08月13日 14:20
  • 6855

在 VC6 中使用 GdiPlus(五)

下面用 VC6 来写一个 GdiPlus 的 Demo 工程 Step1:新建一个名为 Demo_GdiPlus 的 MFC AppWizard(exe) 工程操作步骤:(1)主菜单File->New...
  • duxiuxing
  • duxiuxing
  • 2007年06月01日 15:47
  • 4415

GDIPlus开发库及帮助文档

  • 2010年07月09日 15:02
  • 6.7MB
  • 下载

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

在没有接触Gdiplus之前,在vc中绘制图片,通常加载一张位图,然后进行贴图。对于现在多种多样的图片格式,之前的GDI并不支持(应该是这样的,呵呵)。而使用Gdiplus则可以选择多种图片格式,比如...
  • s634772208
  • s634772208
  • 2015年06月01日 09:56
  • 6220

GDI+使用步骤

相比较GDI,GDI+增加了渐变的画刷,支持多种图像格式等,不过最大的变化,还是编程模型上的变化。 GDI+使用了面向对象的思想,对接口进行了类封装,使用更加方便。 在应用程序中使用GDI+库应该遵循...
  • rankun1
  • rankun1
  • 2016年02月15日 19:52
  • 2609

win32程序中如何使用GDIPlus

方法一: 删除宏定义: #define WIN32_LEAN_AND_MEAN 加上gdiplus.lib引用: #pragma comment(lib, "gdiplus.lib") ...
  • analogous_love
  • analogous_love
  • 2015年01月05日 11:02
  • 1852

GdiPlus使用方法

  • 2015年08月13日 14:12
  • 23.37MB
  • 下载

GDI+ GdiPlus.lib GdiPlus.h GdiPlus.dll完整开发包

  • 2009年09月09日 11:23
  • 913KB
  • 下载

GDIPlus绘制桌面歌词

功能介绍采用GDIPlus绘制桌面歌词,类似酷狗、QQ音乐等软件。歌词支持纯色、两色渐变、三色渐变;支持高亮歌词。实现方法窗口部分:桌面歌词是个独立的背景透明窗口,可以移动位置,可以鼠标穿透.透明采用...
  • CometNet
  • CometNet
  • 2014年07月07日 14:09
  • 8693
收藏助手
不良信息举报
您举报文章:VC6.0中gdiPlus的使用以及一个小例子
举报原因:
原因补充:

(最多只允许输入30个字)