上善若水,厚德载物

大道无亲 大象无形 大音希声 大巧若拙 大智若愚 【From small beginnings comes great things.】

 

.Net3.5下的GDI+绘制函数曲线图

       Windows GDI(Graphics Device Interface,图形装置界面),这是Windows操作系统的一个图形包,用于支持Windows操作系统中的图形界面,它也帮助开发人员在不考虑特定设备细节的情形下在计算机上进行绘图操作。
      随着开发技术的进步,GDI从某种意义上已经不能满足需求,于是微软把GDI进一步封装抽象,形成新的GDI+,并在性能和功能上进一步完善。GDI+构成了Windows XP操作系统及其后续版本的子系统的应用程序编程接口(API)。GDI+负责在屏幕和打印机上显示信息,它是GDI的改进,同时也是.NET框架结构的重要组成部分。和GDI一样,它提供了对二维图形图像和文字排版处理的支持,通过GDI+能够创建与设备无关的应用程序。使用GDI+可以创建图形、绘制文本以及将图形图像作为对象来操作,旨在提高性能和易用性。
      利用GDI+绘制函数曲线时必须首先知道的是逻辑窗口的原点在物理坐标中的位置和逻辑像素与物理坐标单位(或设备像素)之间的比例关系(映射)。GDI+在坐标系中绘制直线、矩形和其他形状,默认坐标系的原点是左上角,并且X轴指向右边,Y轴指向下边。默认坐标系的度量单位是像素。
                                                   
绘图常用到的类库:
                           
      绘制函数曲线的算法思想很简单,其实就是根据该指定的函数表达式精确地计算出各个点,并对每两个点进行DrawLine(Mypen,Point1,Ponit2)操作,以物理坐标的原点为起点,设定每两个点的间隔(我取0.001,测试过发现该精确度已足够),分正负轴进行绘制。
      下面是对绘制函数框的背景的绘制,包括网格,X,Y轴以及对原点的标记
      有关画笔字体笔刷之类的定义声明就不再罗嗦了,搞得跟教程一样囧,下面直接贴代码...

下面是绘制函数y=sinx*x的代码



有关像素点的值由于本人刚接触GDI+绘图,只能是在窗口下挨个数值带入代码进行操作测试找对应比例值囧,其实绘制函数曲线最关键的就是找到合适的逻辑坐标与物理坐标的映射关系,其他的诸如生成n多点描绘连线之类的估计地球人都会,呵呵~

生成函数y=sinx*x图像:


 对图像进行缩小后->
    

  放大缩小的原理其实很简单,只要在之前的逻辑物理映射关系式中加入zoom为缩放系数即可。

posted on 2009-05-21 16:33 ChenZB 阅读(1741) 评论(2)  编辑 收藏 引用 所属分类: .Net

评论

# re: .Net3.5下的GDI+绘制函数曲线图-->询问,能不能把这个GDI绘制曲线的程序发给我[未登录] 2011-03-14 11:04 赵伟

你好,我现在在学GDI+编程,我看到你这篇文章非常好,我很想通过你的这个程序入门学习一下GDI+,所以,我想问你能不能把你的源程序发一份给我,我的邮箱是:445121951@qq.com,或者zhaowei7790059@163.com  回复  更多评论   

# re: .Net3.5下的GDI+绘制函数曲线图 2014-05-13 00:33 wind

你好,我觉得你写的不错,能发一份代码给我研究下吗,我的邮箱是:851542338@qq.com  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿(6)

随笔分类

随笔档案

收藏夹

友情链接

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜