FORTRAN图形操作.ppt
《FORTRAN图形操作.ppt》由会员分享,可在线阅读,更多相关《FORTRAN图形操作.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十二章 FORTRAN图形操作 绘图基础绘图基础 QuickWinQuickWin窗口的创建窗口的创建 图形坐标系图形坐标系 图形属性图形属性 基本图形函数基本图形函数 图形字符操作图形字符操作 一、一、QuickWin绘图基础绘图基础 QuickWinQuickWin支持以像素为基础的图形,其图形库包括了一支持以像素为基础的图形,其图形库包括了一套完整的图形函数集。套完整的图形函数集。1 1QuickWinQuickWin图形库图形库 MSFLIB.F90:MSFLIB.F90:绘图子程序的定义及接口绘图子程序的定义及接口 MSFLIB.MOD:MSFLIB.MOD:图形过程符号常量说明以
2、及与绘图过程图形过程符号常量说明以及与绘图过程相关的结构体的定义相关的结构体的定义 2.2.QuickWinQuickWin应用程序的创建应用程序的创建二、QuickWin窗口的创建窗口的创建 1.1.设置图形模式设置图形模式 2.2.RESULT=SETWINDOWCONFIG(WC)RESULT=SETWINDOWCONFIG(WC)3.3.RESULTRESULT为为LOGICALLOGICAL型变量,若调用成功,返回值为型变量,若调用成功,返回值为.TRUE.TRUE.,否则为,否则为.FALSE.FALSE.。WCWC为为WINDOWCONFIGWINDOWCONFIG结构体类型变量
3、。结构体类型变量。TYPE WINDOWCONFIGTYPE WINDOWCONFIG INTEGER(2)NUMXPIXELS INTEGER(2)NUMXPIXELS!X!X轴的像素个数轴的像素个数 INTEGER(2)NUMYPIXELSINTEGER(2)NUMYPIXELS!Y!Y轴的像素个数轴的像素个数 INTEGER(2)NUMTEXTCOLSINTEGER(2)NUMTEXTCOLS!最大文本列数最大文本列数 INTEGER(2)NUMTEXTROWSINTEGER(2)NUMTEXTROWS!最大文本行数最大文本行数 INTEGER(2)NUMCOLORSINTEGER(2)
4、NUMCOLORS!颜色索引数颜色索引数 INTEGER(4)FONTSIZEINTEGER(4)FONTSIZE!缺省的字体大小。缺省的字体大小。CHARACTER(80)TITLECHARACTER(80)TITLE!窗口标题窗口标题 END TYPE WINDOWCONFIG END TYPE WINDOWCONFIG 2.窗口操作窗口操作(1)(1)打开子窗口打开子窗口OPENOPEN(UNIT=n,FILE=USER,TITLE=wname,IOFOCUS=statusUNIT=n,FILE=USER,TITLE=wname,IOFOCUS=status)(2)(2)激活窗口激活窗口
5、 result=SETACTIVEQQ(unit)result=SETACTIVEQQ(unit)(3)(3)控制窗口的大小和位置控制窗口的大小和位置 result=SETWSIZEQQ(unit,winfo)result=SETWSIZEQQ(unit,winfo)winfowinfo为结构体为结构体QWINFOQWINFO类型。结构体类型。结构体QWINFOQWINFO包含窗口的位置和大小信包含窗口的位置和大小信息,它在模块息,它在模块MSFLIB.MODMSFLIB.MOD中的定义为:中的定义为:TYPE QWINFOTYPE QWINFO INTEGER(2)TYPE !INTEGER
6、(2)TYPE !窗口类型窗口类型 INTEGER(2)X !INTEGER(2)X !左上角的左上角的X X轴坐标轴坐标 INTEGER(2)Y !INTEGER(2)Y !左上角的左上角的Y Y轴坐标轴坐标 INTEGER(2)H !INTEGER(2)H !窗口的高度窗口的高度 INTEGER(2)W !INTEGER(2)W !窗口的宽度窗口的宽度END TYPE QWINFO END TYPE QWINFO QWIN$MIN QWIN$MAXQuickWinQuickWin坐坐标标系系均均为为左左手手坐坐标标系系。默默认认为为像像素素坐坐标标系系,坐坐标标值值为整数,从为整数,从0
7、0开始计数,故分辨率为开始计数,故分辨率为640480640480的屏幕如下的屏幕如下:三、图形坐标系图形坐标系 将坐标原点设置在物理坐标点(x,y):CALL SETVIEWORG(x,y,t)其中(x,y)为新原点的物理坐标,t为XYCOORD 结构体类型的变量。TYPE xycoord INTEGER(2)xcoord !x坐标 INTEGER(2)ycoord !y坐标END TYPE xycoord 视窗坐标视窗坐标:实数坐标系实数坐标系result=SETWINDOW(finvert,wx1,wy1,wx2,wy2)result=SETWINDOW(finvert,wx1,wy1,
8、wx2,wy2)其中,其中,finvertfinvert为逻辑量,其值为真,则视窗的为逻辑量,其值为真,则视窗的Y Y 轴与视口轴与视口Y Y轴轴相反,否则与视口坐标系相同。相反,否则与视口坐标系相同。wx1wx1、wy1wy1、wx2wx2、wy2wy2均为均为双精度实型,双精度实型,(wx1,wy1)(wx1,wy1)和和(wx2,wy2)(wx2,wy2)分别定义视窗的左下角分别定义视窗的左下角和右上角,视窗原点由和右上角,视窗原点由(wx1,wy1)(wx1,wy1)和和(wx2,wy2)(wx2,wy2)的值所确定。的值所确定。设置了视窗坐标系,就不再需要进行数据转换工作,可调用设置
9、了视窗坐标系,就不再需要进行数据转换工作,可调用绘图过程在子窗口中直接绘图。绘图过程在子窗口中直接绘图。四、图形属性图形属性 图形颜色图形颜色 RGBRGB的色值的色值由由3 3字节组成,每一字节取值范围为字节组成,每一字节取值范围为 02550255,分别代表分别代表蓝、绿、红三色的颜色深度,各表示成蓝、绿、红三色的颜色深度,各表示成2 2位位1616进制进制数字,从右往左依次为红、绿、蓝;数字越大,所对应的数字,从右往左依次为红、绿、蓝;数字越大,所对应的颜色强度越强。颜色强度越强。1设置颜色result=SETCOLORRGB(color)result=SETBKCOLORRGB(col
10、or)result=SETTEXTCOLORRGB(color)color为Integer(4)型,一般用16进制表示颜色取值。例例例例4 4 设置绘图窗口为白色,用设置绘图窗口为白色,用PRINTPRINT语句输出兰色文字,用语句输出兰色文字,用OUTGTEXTOUTGTEXT函数输出红色字符。函数输出红色字符。USE MSFLIBUSE MSFLIBINTEGER(4)RESULTINTEGER(4)RESULTTYPE(XYCOORD)XYTYPE(XYCOORD)XYRESULT=SETBKCOLORRGB(#FFFFFF)RESULT=SETBKCOLORRGB(#FFFFFF)CA
11、LL CLEARSCREEN($GCLEARSCREEN)CALL CLEARSCREEN($GCLEARSCREEN)RESULT=SETTEXTCOLORRGB(#FF0000)RESULT=SETTEXTCOLORRGB(#FF0000)PRINT*,This is bluePRINT*,This is blueRESULT=SETCOLORRGB(#0000FF)RESULT=SETCOLORRGB(#0000FF)CALL MOVETO(20,20,XY)CALL MOVETO(20,20,XY)CALL OUTGTEXT(This is red)CALL OUTGTEXT(This
12、 is red)ENDEND要使设置的背景色发生作用,须使用CLEARSCREEN函数清空目标区域,线型线型线型线型 线型(线型(LineStyleLineStyle)是点、横线和空格等按一定规律重复出现而形成的图)是点、横线和空格等按一定规律重复出现而形成的图案,是构成直线条的基本图元。案,是构成直线条的基本图元。CALL SETLINESTYLE(mask)CALL SETLINESTYLE(mask)maskmask是一个是一个1616位二进制数,其中每位对应线型图元的一个像素。若位值位二进制数,其中每位对应线型图元的一个像素。若位值为零,则像素保持当前背景色;若位值为为零,则像素保持当
13、前背景色;若位值为1 1,则像素被置为当前前景色。,则像素被置为当前前景色。缺省线型模式是缺省线型模式是#FFFF(#FFFF(实线实线)。如表所示,。如表所示,#FF00#FF00表示长虚线型,表示长虚线型,#F0F0#F0F0表表示短虚线型,缺省为实线(示短虚线型,缺省为实线(#FFFF#FFFF)。)。填充样式填充样式填充样式填充样式填充样式(填充样式(FillMaskFillMask)是横线、竖线和斜线等按一定规律重复出现而形)是横线、竖线和斜线等按一定规律重复出现而形成的图案,是构成填充部分的基本图元。成的图案,是构成填充部分的基本图元。CALL SETFILLMASK(mask)C
14、ALL SETFILLMASK(mask)其中其中maskmask为为INTEGER(1)INTEGER(1)型的有型的有8 8个元素的一维数组,数组元素中的每个元素的一维数组,数组元素中的每一位一位2 2进制代表填充元中的一个像素,值为进制代表填充元中的一个像素,值为1 1表示该像素点填充颜色,值表示该像素点填充颜色,值为为0 0表示该像素点不填充颜色;第表示该像素点不填充颜色;第n n个数组元素对应填充元的第个数组元素对应填充元的第n n行。如行。如左表中所示的填充元为虚线,右表中所示的填充元为细实线。左表中所示的填充元为虚线,右表中所示的填充元为细实线。位元素7 76 65 54 43
15、32 21 10 0值值(十六(十六进进制)制)maskmask(1 1)0 00 00 00 01 10 00 00 0#08#08maskmask(2)(2)0 00 00 00 01 10 00 00 0#08#08maskmask(3)(3)0 00 00 00 01 10 00 00 0#08#08maskmask(4)(4)0 00 00 00 01 10 00 00 0#08#08maskmask(5)(5)0 00 00 00 01 10 00 00 0#08#08maskmask(6)(6)0 00 00 00 01 10 00 00 0#08#08maskmask(7)(7
16、)0 00 00 00 01 10 00 00 0#08#08maskmask(8)(8)0 00 00 00 01 10 00 00 0#08#087 76 65 54 43 32 21 10 0值值(十六(十六进进制)制)maskmask(1 1)0 00 00 01 11 10 00 00 0#18#18maskmask(2)(2)0 00 00 01 11 10 00 00 0#18#18maskmask(3)(3)0 00 00 00 00 00 00 00 0#00#00maskmask(4)(4)0 00 00 01 11 10 00 00 0#18#18maskmask(5)(
17、5)0 00 00 01 11 10 00 00 0#18#18maskmask(6)(6)0 00 00 00 00 00 00 00 0#00#00maskmask(7)(7)0 00 00 01 11 10 00 00 0#18#18maskmask(8)(8)0 00 00 01 11 10 00 00 0#18#18位元素五、基本图形函数基本图形函数 画像素点画像素点画像素点画像素点 result=SETPIXELRGB(x,y,color)result=SETPIXELRGB(x,y,color)result=SETPIXELRGB_W(wx,wy,color)result=SET
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FORTRAN 图形 操作
限制150内