如何在BCB中配置和使用GDI+技术?(附动画实例)

原创 2003年11月01日 22:53:00
主页:www.maxss.net
Email: maxss.net@163.com



  GDI+是微软公司推出的新一代图形设备接口,功能强大。不再像传统的GDI那样让人的心志严重地受挫,GDI+具有很多新特性(如支持Alpha、渐变色填充、反锯齿等),并具有面向对象特性,这使得开发人员可以更方便、更形象地进行GDI+开发。有关GDI+更详细的介绍大家可以查阅MSDN中的专栏。

  但目前在BCB环境中使用GDI+进行开发则还需要进行一定的设置和步骤才能成功编译和链接。以下我就以BCB6为例进行简单的说明:

1、建立编译链接环境:
  GDI+主要是通过gdiplus.dll进行调用,而BCB没有直接提供与gdiplus.dll对应的静态链接库,所以需要我们自己建立。如果在自己的计算机没有找到文件gdiplus.dll,可以到微软的官方网站进行下载。然后复制一份到自己的工程目录中,然后使用BCB提供的工具implib生成对应的静态链接库:
implib gdiplus.lib gdiplus.dll

完成后切记要把gdiplus.lib添加到工程中(使用BCB的"Project->Add to project..."命令)。
(注意:这两个文章都需要保存在工程目录中)

2、修改编译选项:
  打开BCB菜单"Project->Options",点击"Directories/Conditionals"页,在"Conditionals defines:"中添加“STRICT”编译选项,如果有多项则需要用分号";"进行分隔。

3、在.cpp文件中的语句“#pragma hdrstop”后加入以下内容:
#include <algorithm>
using std::min;
using std::max;

4、在.cpp文件中的语句块“#pragma package(smart_init)...”后加入以下内容:
using namespace Gdiplus;

(可以参阅后面的源码例子)

5、最后注意要在.h文件中引入GDI+的头文件:
#include <Gdiplus.h>

6、现在就可以进行基于GDI+的开发了,下面是我为大家编写的一个产生旋转的正方形的简单动画效果的例子:
(注意:需要添加一个Timer控件,并设置其Interval属性为50)

Unit1.h:

Unit1.cpp:

有关BCB使用GDI+

http://www.aiuxian.com/article/p-1452536.html GDI+是微软公司推出的新一代图形设备接口,功能强大。不再像传统的GDI那样让人的心志严重...
  • binnygoal
  • binnygoal
  • 2016年04月21日 15:15
  • 321

GDI---透明动画

goright.bmp:480*108,每个人物尺寸为80*108 //-----------------------------------【程序说明】-----------------------...
  • u012319493
  • u012319493
  • 2017年02月04日 19:03
  • 403

60个BCB(C++Build)初学者 应用实例

1.怎样在C++Builder中创建使用DLL 2.用C++Bulider在WIN.INI中保存信息 3.如何在C++Builder中检测硬件 4.C++Builder如何响应消息及自定义消息 ...
  • qq_31209383
  • qq_31209383
  • 2017年03月20日 15:35
  • 226

VC无闪烁刷屏技术的实现---VC中用GDI函数实规高速平滑动画

摘要:许多游戏软件的开发中,实现高速平滑的动画需要许多比较深的技术,如:OpenGL、DirectX,并且可能还要开发人员有深厚的数学功底。但是,我们在开发一些小游戏,或为应用程序的界面实现一些动画效...
  • phenixyf
  • phenixyf
  • 2016年01月22日 15:17
  • 1194

双缓冲技术(基于GDI+实现)

一、双缓冲技术      双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度。     当数据量很大时...
  • woaisia
  • woaisia
  • 2015年07月07日 14:24
  • 1539

C++/GDI+ 学习笔记(二)——几个例子

第一个例子 Hello World! 第一个最经典的例子当然是Hello World了:) TAG: GDIPlus      1.     第一个例子——“Hello ...
  • hireboy
  • hireboy
  • 2013年05月29日 16:19
  • 3230

如何在VS2005中使用GDI+

如何在VS2005中使用GDI+ 日期:2008-11-11 | 分类:MFC 编程笔记 | Tags: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明htt...
  • more607
  • more607
  • 2014年11月07日 14:28
  • 476

如何在VC中使用GDI+

GDI+可应用于二维向量图象,栅格图象及排版,是为C/C++程序员而设计的表现为C++类而存在的接口,能用于一切基于Windows的应用中。作为GDI的后继者,GDI+在GDI中增加了新功能,如文本的...
  • luckyboy101
  • luckyboy101
  • 2013年03月16日 16:26
  • 780

在BCB中使用多线程实例

多线程编程是提高系统资源利用率的一种常见方式。它占用的资源更小,启动更快,还可以实现在后台运行一些需时较长的操作。 一、初识TThread对象 VCL提供了用于多线程编程的TThread类,在这个类...
  • u014438664
  • u014438664
  • 2015年03月29日 23:21
  • 599

在BCB中使用多线程实例

多线程编程是提高系统资源利用率的一种常见方式。它占用的资源更小,启动更快,还可以实现在后台运行一些需时较长的操作。 一、初识TThread对象 VCL提供了用于多线程编程的TThread类,在...
  • u010984552
  • u010984552
  • 2016年08月25日 15:54
  • 1983
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何在BCB中配置和使用GDI+技术?(附动画实例)
举报原因:
原因补充:

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