在 VC6 中使用 GdiPlus-安装

安装三部曲:
Step1
:下载 GdiPlus SDK 文件包;
链接地址1:http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip
链接地址2:http://www.codersource.net/samples/mfcgdiplus.zip


Step2:安装;
(1)头(GdiPlus*.h)文件安装目录:C:\Program Files\Microsoft Visual Studio\VC98\GdiPlus;
(2)静态库(GdiPlus.lib)文件安装目录:C:\Program Files\Microsoft Visual Studio\VC98\Lib;
(3)动态库(GdiPlus.dll)文件安装目录:Copy 到 exe 文件存放目录或者直接使用系统中自带的 GdiPlus.dll;


Step3:配置开发环境下的路径
从 VC6 主菜单 Tools->Options... 进入设置窗口,选择 Directories 选项卡,在 Show directories for: 下拉列表中选择 Include files,在列表中增加 C:\Program Files\Microsoft Visual Studio\VC98\GdiPlus。

GdiPlus_Include

Step1:下载 GdiPlus SDK 文件包

    VC6 的安装程序并没有包含 GdiPlus 相关的库文件和头文件,所以想在VC6中使用 GdiPlus,你首先得把这些文件下载到本地。微软的说法是 GdiPlus 相关的库文件和头文件已经合入到 .Net Platform SDK 里面,所以开发人员只需要下载安装 SDK 即可。但也有相当一部分开发人员是不想为了 GdiPlus 就安装 SDK 的,于是就有热心之人从 SDK 中把 GdiPlus 相关的这些文件单独抽离了出来,形成了 GdiPlus SDK 文件包。

你可以尝试通过以下链接地址进行下载:
链接地址1:http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip
链接地址2:http://www.codersource.net/samples/mfcgdiplus.zip

解压之后,请核对一下文件夹中的目录结构:
Root (Directory)
│ 
├Includes (Directory)
│ ├GdiPlus.h
│ ├GdiPlusBase.h
│ ├……
│ ├……
│ └GdiPlus*.h
├Lib (Directory)
│ └GdiPlus.lib
└GdiPlus.dll 

Step2:安装


    理论上讲,把下载回来的这些文件放在硬盘上的任意一个位置都是可以的,只要在 Step3 中进行相应正确的配置,都能够在 VC6 中把 GdiPlus 用起来。

我采取的做法是:
(1)头(GdiPlus*.h)文件安装目录:C:\Program Files\Microsoft Visual Studio\VC98\GdiPlus;
    把 GDI+ SDK 文件包中的 Includes 目录重命名为 GdiPlus,再把 GdiPlus 文件夹 Copy 到 C:\Program Files\Microsoft Visual Studio\VC98 目录里面,换句话说就是把文件包中所有的 GdiPlus*.h 文件 Copy 到 C:\Program Files\Microsoft Visual Studio\VC98\GdiPlus 目录下。

(2)静态库(GdiPlus.lib)文件安装目录:C:\Program Files\Microsoft Visual Studio\VC98\Lib;
    把 GdiPlus.lib Copy 到 C:\Program Files\Microsoft Visual Studio\VC98\Lib 中。

(3)动态库(GdiPlus.dll)文件安装目录:Copy 到 exe 文件存放目录或者直接使用系统中自带的 GdiPlus.dll;
    事实上在安装 Windows 操作系统(2000以及以上版本)的时候,安装程序就已经把 GdiPlus.dll Copy 到了系统目录里面了。随着 Windows 补丁的不断更新,你也许还会在系统目录里面发现同时存在多个不同版本的 GdiPlus.dll(我尝试搜索了一下 C:\Windows 目录,发现两个不同版本的 GdiPlus.dll)。
    对于 GdiPlus.dll 不同版本的问题,微软建议软件开发厂商可以把自己开发测试时候所使用的 GdiPlus.dll 版本放到自己产品的安装目录下,随产品一起发布,这样程序在装载 GdiPlus.dll 的时候,会优先选择安装目录下的版本进行装载。
    这种做法的目的可以这样理解,假设现在 GdiPlus.dll 发现漏洞需要升级,但是用户操作系统由于没有及时打补丁或者其他原因,系统目录下的 GdiPlus.dll 未能及时更新(系统仍然在使用一个存在漏洞的 GdiPlus.dll)。此时用户安装了一个新软件,这个软件里面如果有打包 GdiPlus.dll 版本的话,那软件运行时候所使用的 GdiPlus.dll 版本与软件开发测试时候所使用的版本就是一致的,这样就可以把软件运行时候受漏洞影响的可能性降到最低。
    文件包中的 GdiPlus.dll 文件版本是 5.0.3049.0,微软最近更新的一个 GdiPlus.dll 版本是 5.1.3102.2180。我的 Windows XP 系统一直都有进行比较及时的自动更新,通过 Windows 的搜索功能可以在 C:\Windows 目录里面找到 GdiPlus.dll 的最新版本。另外我在腾讯 QQ 的安装目录下也发现了 GdiPlus.dll 的最新版本。 

Step3:配置开发环境下的路径


为了让 VC6 在编译的时候,能够找到 GDI+ 相关的库文件和头文件,还需要在 VC6 开发环境中进行目录配置。
(1)从 VC6 主菜单 Tools->Options... 进入设置窗口,选择 Directories 选项卡;
(2)在 Show directories for: 下拉列表中选择 Include files,在列表中增加 GdiPlus 头文件所存放的目录路径,这个路径应该与 Step2 里面(1)的路径一致;
(3)在 Show directories for: 下拉列表中选择 Library files,在列表中增加 GdiPlus.lib 所存放的目录路径,这个路径应该与 Step2 里面(2)的存放路径一致;
(4)重启 VC6,以保存修改后的配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET MVC 的多国语系支持

ASP.NET MVC 的多国语系支持 posted on 2014-05-14 11:31 stickout 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/linhui/p/3727364.html

aliyun centos6 安装mysql_阿里云CentOS6.8安装MySQL5.6

1、使用SSH Secure Shell工具连接阿里云服务器2、使用SSH Secure File Transfer工具上传MySQL压缩包3、解压MySQL压缩包到指定目录(需要在先/usr/local下创建mysql目录)进入压缩文件存放位置,进行解打包:tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.ta…

用Javascript获取页面元素的位置

制作网页的过程中,你有时候需要知道某个元素在网页上的确切位置。 下面的教程总结了Javascript在网页定位方面的相关知识。 一、网页的大小和浏览器窗口的大小 首先,要明确两个基本概念。 一张网页的全部面积,就是它的大小。通常情况下&#…

[Qt] 利用QtWebKit完成JavaScript访问C++对象

http://blog.csdn.net/longsir_area/article/details/42965565 一. 介绍 在浏览器扩展或者WebApp的项目经常用的脚本语言JavaScript有很多局限性,比如,javascript语言不能够夸窗口访问js对象,不能直接读写磁盘文件(这个…

mysql三大范式_MySQL学习笔记

1、数据库结构设计1、总-总体流程图2、分-【提取属性】业务分析评价的属性:{用户,课程主标题,内容,综合评分,内容实用,简洁易懂,逻辑分析,发布时间} 问答评论属性:{类型,…

QT webkit 各个类之间关系--QWebView-QWebPag

一、QT webkit简介 1.Qt Qt(发音同 cute)是一个跨平台的C应用程式开发框架,有时又被称为C部件工具箱。Qt被用在KDE桌面环境、Opera、Google Earth、Skype、Adobe Photoshop Album和VirtualBox的开发中。它是挪威Qt Software 的产品&#xff0…

vue 文件转换二进制_在vue中使用axios实现post方式获取二进制流下载文件(实例代码)...

需求点击导出下载表格对应的excel文件在 vue 项目中,使用的 axios ,后台 java 提供的 post 接口 api实现第一步,在 axios 请求中加入参数,表示接收的数据为二进制文件流responseType: "blob"第二步,在拿到数据流之后,把流转为指定文件格式并创建a标签,模拟点击下载,实…

vs生成qt moc文件

1. 右键需要生成moc文件的头文件 2. 将生产的moc加入工程中

javascript好文---深入理解定位父级offsetParent及偏移大小

前面的话 偏移量(offset dimension)是javascript中的一个重要的概念。涉及到偏移量的主要是offsetLeft、offsetTop、offsetHeight、offsetWidth这四个属性。当然,还有一个偏移参照——定位父级offsetParent。本文将详细介绍该部分内容 offsetParent定位父级 在理解…

bash中将字符串split成数组的方法

相信编程时,字符串的处理是很频繁被处理的问题,其中大家肯定不陌生各种语言的string.split(sp)将字符串按照某个字符或子串切分成一个数组。 同样,我们在用shell处理文本信息时也可以方便地实现该功能。 这里主要使用了bash中关于字符串变量的…

理解 e.clientX,e.clientY e.pageX

event.clientX、event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性 event.pageX、event.pageY 类似于event.clientX、event.clientY,…

基于FlashPaper的文档播放器

本文主要讨论、描述了使用Adobe公司的Flex与FlashPaper产品完成对发布到网上的文档资料进行只读控制,也就是说只允许浏览操作、对下载、打印进行控制。FlashPaper FlashPaper是Macromedia的一款用于将操作系统所识别的文档的内容通过虚拟打印机制将内容转换为swf文件…

python经纬度转换xy坐标公式 pyqt_EXCEL公式进行经纬度与XY坐标的相互转换

一、用EXCEL进行高斯投影换算从经纬度B、L换算到高斯平面直角坐标X、Y(高斯投影正算),或从X、Y换算成B、L(高斯投影反算),一般需要专用计算机软件完成。在目前流行的换算软件中不足之处,就是灵活性较差,大都需要一个点一个点地进行…

java桥_JAVA 桥模式

桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化”。这句话很短,但是第一次读到这句话的人很可能都会思考良久而不解其意。这句话有三个关键词,也就是抽象化、实现化和脱耦。理解这三个词所代表…

java utf8 byte_byte以及UTF-8的转码规则

https://www.cnblogs.com/hell8088/p/9184336.html多年来闲麻烦,只记录笔记,不曾编写BLOG,本文为原创,如需转载请标明出处废话不说,直奔主题ascii计算机只接受 “高”、“低”电压,所以使用二进制 1 和 …

理解GL_TRIANGLE_STRIP等绘制三角形序列的三种方式

GL_TRIANGLE_STRIP绘制三角形方式很多时候令人疑惑,在这里对其运作机理进行解释。 一般情况下有三种绘制一系列三角形的方式,分别是GL_TRIANGLES、GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN。 如下图所示: GL_TRIANGLES是以每三个顶点绘制一个三…

jpa mysql乐观锁_【快学springboot】8.JPA乐观锁OptimisticLocking

介绍当涉及到企业应用程序时,正确地管理对数据库的并发访问是至关重要的。为此,我们可以使用Java Persistence API提供的乐观锁定机制。它导致在同一时间对同一数据进行多次更新不会相互干扰。为了使用OptimisticLocking,我们需要一个实体(En…

php mysql 库存变负数_php解决秒杀并发入库导致的库存负数

我们知道数据库处理sql是一条条处理的,假设购买商品的流程是这样的:sql1:查询商品库存1 if(库存数量 > 0)2 {3 //生成订单4 //库存-15 >当没有并发时,上面的流程看起来是如此完美,假设同时两个人下单,而库存只有…

python if else格式_Python if else条件语句详解

我们看到的代码都是顺序执行的,也就是先执行第1条语句,然后是第2条、第3条……一直到最后一条语句,这称为顺序结构。但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用,儿童因…

UE4 HTC VIVE - 番外篇 - 局域网联机(一)

--------------------引擎环境配置文件修改与项目在线模式启动修改--------------------1)我们就直接用默认名创建一个第三人称项目Paste_Image.png2)右键资源栏,创建一个新的C类创建一个C类选择不继承任何UE提供的基类3)打开【解…