理工论文基于Visual C++开发环境绘制PNG按钮的方法.doc_第1页
理工论文基于Visual C++开发环境绘制PNG按钮的方法.doc_第2页
理工论文基于Visual C++开发环境绘制PNG按钮的方法.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于开发环境绘制按钮的方法 基于开发环境绘制按钮的方法是小柯论文网通过网络搜集,并由本站工作人员整理后发布的,基于开发环境绘制按钮的方法是篇质量较高的学术论文,供本站访问者学习和学术交流参考之用,不可用于其他商业目的,基于开发环境绘制按钮的方法的论文版权归原作者所有,因网络整理,有些文章作者不详,敬请谅解,如需转摘,请注明出处小柯论文网,如果此论文无法满足您的论文要求,您可以申请本站帮您代写论文,以下是正文。gdi+是一种应用程序编程接口(api),通过一套部署为托管代码的类来展现。这套类被称为gdi+的托管类接口。应用程序的程序员可利用gdi+这样的图形设备接口在屏幕或打印机上显示信息,而不需要考虑特定显示设备的具体情况。应用程序的程序员调用gdi+类提供的方法,而这些方法又反过来相应地调用特定的设备驱动程序。gdi+应用程序与图形硬件隔离,而正是这种隔离允许开发人员创建设备无关的应用程序。 一、关于gdi+ (一)什么是gdi+ gdi+是gdi(graphics device inteface)的一个新版本,它不仅对原有的gdi功能进行了优化,还添加了许多新特新。gdi+提供了颜色类、画刷类、画笔类、字体类、区域类、图形类、位图类和图像类等,使得程序员能够轻易的完成二维和三维图形处理。 (二)gdi+的功能 gdi+主要提供了以下三个功能服务: 1.二维矢量图形。矢量图形包括坐标系统中的系列点指定的绘图基元(如直线、曲线和图形)。例如,直线可通过它的两个端点来指定,而矩形可通过确定其左上角位置的点并给出其宽度和高度的一对数字来指定。简单路径可由通过直线连接的点的数组来指定。贝塞尔样条是由四个控制点指定的复杂曲线。gdi+提供了存储基元自身相关信息的类(结构)、存储基元绘制方式相关信息的类,以及实际进行绘制的类。 2.图像处理。有些种类的图片很难或者根本无法用矢量图形技术来显示。例如,工具栏按钮上的图片和显示为图标的图片就难以指定为直线和曲线的集合。拥挤的棒球运动场的高分辨率数字照片会更难以使用矢量技术来制作。这种类型的图像可存储为位图,即代表屏幕上单个点颜色的数字数组。gdi+提供了bitmap类,可用于显示、操作和保存位图。 3.文字显示版式。就是使用各种字体、字号和样式来显示文本。gdi+为这种复杂任务提供了大量的支持。gdi+中的新功能之一是子像素消除锯齿,它可以使文本在lcd屏幕上呈现时显得比较平滑。本文首先介绍gdi+的几个主要新增的特性及其功能,然后说明它给windows图形图像程序的开发模式带来的变化,最后给出代码实例,介绍如何在vc+6.0中使用gdi+进行程序开发。 二、png按钮的应用 下面展示一个以png图片为背景的按钮的简单应用,环境选择在vc+6.0下。 (一)需要下载gdi+开发包 这里面包含了gdi+里的很多类和函数。先需要有gdi+的开发包(.net framework中包含该开发包),可以去微软的ftp网站免费下载,需要的文件有:动态链接库文件gdiplus.dll,静态链接库文件gdiplus.lib,代码中所需要的多个以gdiplus开头的头文件如gdiplus*.h等文件。 (二)vc中的设置 tools/options/directories中加入所下载的文件所在路径在project /settings/link中加入gdiplus.lib。 stdafx.h中包含头文件#include。 另外,要使用gdi+的文件头部加上名字空间声明:using namespace gdiplus。 (三)用vc开发gdi+程序(设工程文件名为gdiplus2demo) 1.先要进行初始化,在cgdiplusdemoapp类声明一个成员变量 ulong ptr m_gdiplustoken;/ulong ptr为int64类型 2.在cgdiplusdemoapp:initinstance()函数中加入以下代码对gdi+进行初始化 gdiplusstartupinput gdiplusstartupinput; gdiplusstartup(&m_gdiplustoken,&gdiplusstartupinput,null); 3.在cgdiplusdemoapp:exitinstance()函数加入以下代码对gdi+关 闭gdi+ gdiplusshutdown(m_gdiplustoken); 4.接下来就可以在利用gdi+进行画图了 在cgdiplusdemoview:onpaint()中进行画图: cpaintdc dc(this);/device context for painting crect rc; getdlgitem(idc_button1)->getwindowrect(&rc); /获得按钮的大小 screentoclient(&rc); /屏幕坐标转换为客户区坐标 graphics graphics(getdc()->m_hdc); /创建需要的dc,取得dc句柄 image image(l"btn.png",false); /图片的路径(可以用相对路径) graphics.drawimage(&image,rc.left-30,rc.top-30,rc.width()+60,rc.height()+60); /按钮上面画出图片 三、结论 本文经过对gdi+进行功能研究以及开发windows图像程序的演示,展示了新一代的windows图形图像接口种种优越特性。gdi+不但在功能上比gdi要强大很多,而且在代码编写方面也简单很多,因此将很快成为windows图形图像程序开发的首选。 基金项目:甘肃政法学院科研资助青年 项目编号:gzf2009xqnlw20 参考文献: 1microsoft msdneb/ol./li2rary/,micr osoft,20022051. 2侯捷,深入浅出mfc第二版m.湖北:华中科技大学出版社,2001. 3王钲旋,计算机图像处理程序设计m.长春:吉林大学出版社,1999. div class=其他参考文献baker, sheridan. the practical stylist. 6th ed. new york: harper & row, 1985.flesch, rudolf. the art of plain talk. new york: harper & brothers, 1946.gowers, ernest. the complete plain words. london: penguin books, 1987.snell-hornby, mary. translation studies: an integrated approach. amsterdam: john benjamins, 1987.hu, zhuanglin. 胡壮麟, 语言学教程 m. 北京: 北京大学出版社, 2006.jespersen, otto. the philosophy of grammar. london: routledge, 1951.leech, geoffrey, and jan svartvik. a communicative grammar of english. london: longman, 1974.li, qingxue, and peng jianwu. 李庆学、彭建武, 英汉翻译理论与技巧 m. 北京: 北京航空航天大学出版社, 2009.lian, shuneng. 连淑能, 英汉对比研究 m. 北京: 高等教育出版社, 1993.ma, huijuan, and miao ju. 马会娟、苗菊, 当代西方翻译理论选读 m. 北京: 外语教学与研究出版社, 2009.newmark, peter. approaches to translation. london: pergmon p, 1981.quirk, randolph, et al. a grammar of contemporary english. london: longman, 1973.wang, li. 王力, 中国语法理论 m. 济南: 山东教育出版社, 1984.xu, jianping. 许建平, 英汉互译实践与技巧 m. 北京: 清华大学出版社, 2003.yan, qigang. 严启刚, 英语翻译教程 m. 天津

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论