资源描述:
《绘图、界面功能简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、fortran绘图、界面功能简介ScienceTools2007-11-2920:43:00阅读78评论0 字号:大中小 订阅- Fortran中文网 (http://www.fortran.cn/bbs/index.asp)-- Fortran语言开发经验交流 (http://www.fortran.cn/bbs/list.asp?boardid=3)---- [分享]fortran绘图、界面功能简介 (http://www.fortran.cn/bbs/dispbbs.asp?boardid=3&id=569
2、)-- 作者:lm_lxt-- 发布时间:2006-12-299:17:11-- [分享]fortran绘图、界面功能简介对于fortran的绘图、界面功能,我仅仅做一个简单的罗列,这样方便大家的讨论:1.利用fortran的扩充函数绘图,下面是一个简单的例子,是http://www.programfan.com/上面有人贴出的; VisualFortran中有提供绘图功能。VisualFortran的绘图功能不完全是以扩充函数的类型存在,使用它的绘图功能必须在选择Project类型时,选择StandardG
3、raphics或QuickWin模式。VisualFortran的QuickWin及StandardGraphics模式在简单的绘图使用上会比较方便,它的绘图函数功能比较多样,不过效率会比较差,而且不支持动画功能。 StandardGraphics和QuickWin模式在绘图方面的使用方法完全相同,它们都是调用相同的函数来绘图。差别在于StandardGraphics只能打开一个窗口来绘图、QuickWin模式则可以打开多个窗口来绘图。QuickWin模式下可以有菜单及对话窗的功能,StandardGraphics
4、则不行。StandardGraphics模式的程序代码可以原封不动直接转换到QuickWin模式下使用,但是QuickWin的程序代码并不一定可以直接拿到StandardGraphics模式下使用。 下面这个程序会在屏幕上画出一条斜线、一个方形及一个椭圆。编译程序时,请选择FortranStandardGraphicsorQuickWinApplication这个模式。这个程序可以在StandardGraphics或QuickWin模式下使用。打开好Project后,再把下面的程序加入Project中来编译。1.!
5、简单的绘图范例2.!ByPerng1997/9/193.programPlot_Demo4.!使用VisualFortran的绘图功能时需要moduledflib5.useDFLIB 6.implicitnone7. type(xycoord)::t8. integer::result9. callMoveTo(10,10,t) !把目前绘图的位置移动到坐标(10,10)10. result=LineTo(100,50)!从(10,10)到(100,50)间绘一条直线11. !画一个左上角为(110,10),右
6、下角为(150,50)的实心方形12. result=Rectangle($GFILLINTERIOR,110,10,150,50)13. !画一个可以放入在(10,60)--(150,100)方形当中的空心椭圆14. result=Ellipse($GBORDER,10,60,150,100)15.endprogramPlot_Demo使用StandardGraphics模式时,会出现一个绘图窗口来画图。使用QuickWin模式时,除了绘图窗口外,还有内定的菜单可以使用。File菜单中的Print可以把图形显示出,Sa
7、ve可以把绘图结果储存成*.BMP图文件。 使用VisualFortran的绘图功能时,打开窗口的工作是自动完成的。程序代码只需要直接调用绘图函数就可以进行绘图,下面对程序中所使用的绘图函数做一些介绍:subroutineMoveTo(x,y,t)使用这个子程序时,要先把屏幕想像成一张画纸,程序会使用一只画笔在屏幕上画画。MoveTo(x,y,t)可以把这只画笔移动到画纸上的(x,y)坐标处,参数t则会返回移动之前的画笔所在位置(这个参数其实没有什么用,不过既然有规定就一定要把它放入)。请注意,原点(0,0)是位在
8、窗口的左上角,x坐标轴向右为正,y坐标轴向下为正。integer(2)functionLineTo(x,y)这个函数可以把画笔从目前的位置到(x,y)处画一条直线。返回值如果不为0,代表函数运行不正常。integer(2)functionRectangle(control,x