第12章FORTRAN图形操作.ppt
《第12章FORTRAN图形操作.ppt》由会员分享,可在线阅读,更多相关《第12章FORTRAN图形操作.ppt(24页珍藏版)》请在课桌文档上搜索。
1、第十二章 FORTRAN图形操作,绘图基础 QuickWin窗口的创建 图形坐标系 图形属性 基本图形函数 图形字符操作,一、QuickWin绘图基础,QuickWin支持以像素为基础的图形,其图形库包括了一套完整的图形函数集。1QuickWin图形库 MSFLIB.F90:绘图子程序的定义及接口 MSFLIB.MOD:图形过程符号常量说明以及与绘图过程相关的结构体的定义 2.QuickWin应用程序的创建,二、QuickWin窗口的创建,设置图形模式 RESULT=SETWINDOWCONFIG(WC)RESULT为LOGICAL型变量,若调用成功,返回值为.TRUE.,否则为.FALSE.
2、。WC为WINDOWCONFIG结构体类型变量。TYPE WINDOWCONFIG INTEGER(2)NUMXPIXELS!X轴的像素个数 INTEGER(2)NUMYPIXELS!Y轴的像素个数 INTEGER(2)NUMTEXTCOLS!最大文本列数 INTEGER(2)NUMTEXTROWS!最大文本行数 INTEGER(2)NUMCOLORS!颜色索引数 INTEGER(4)FONTSIZE!缺省的字体大小。CHARACTER(80)TITLE!窗口标题 END TYPE WINDOWCONFIG,2.窗口操作,(1)打开子窗口OPEN(UNIT=n,FILE=USER,TITLE=
3、wname,IOFOCUS=status)(2)激活窗口 result=SETACTIVEQQ(unit)(3)控制窗口的大小和位置 result=SETWSIZEQQ(unit,winfo)winfo为结构体QWINFO类型。结构体QWINFO包含窗口的位置和大小信息,它在模块MSFLIB.MOD中的定义为:TYPE QWINFO INTEGER(2)TYPE!窗口类型 INTEGER(2)X!左上角的X轴坐标 INTEGER(2)Y!左上角的Y轴坐标 INTEGER(2)H!窗口的高度 INTEGER(2)W!窗口的宽度END TYPE QWINFO,QWIN$MIN QWIN$MAX,Q
4、uickWin坐标系均为左手坐标系。默认为像素坐标系,坐标值为整数,从0开始计数,故分辨率为640480的屏幕如下:,三、图形坐标系,将坐标原点设置在物理坐标点(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)其中,finvert为逻辑量,其值为真,则视窗的Y 轴与视口Y轴相反
5、,否则与视口坐标系相同。wx1、wy1、wx2、wy2均为双精度实型,(wx1,wy1)和(wx2,wy2)分别定义视窗的左下角和右上角,视窗原点由(wx1,wy1)和(wx2,wy2)的值所确定。设置了视窗坐标系,就不再需要进行数据转换工作,可调用绘图过程在子窗口中直接绘图。,四、图形属性,图形颜色 RGB的色值由3字节组成,每一字节取值范围为 0255,分别代表蓝、绿、红三色的颜色深度,各表示成2位16进制数字,从右往左依次为红、绿、蓝;数字越大,所对应的颜色强度越强。,1设置颜色result=SETCOLORRGB(color)result=SETBKCOLORRGB(color)res
6、ult=SETTEXTCOLORRGB(color)color为Integer(4)型,一般用16进制表示颜色取值。,例4 设置绘图窗口为白色,用PRINT语句输出兰色文字,用OUTGTEXT函数输出红色字符。USE MSFLIBINTEGER(4)RESULTTYPE(XYCOORD)XYRESULT=SETBKCOLORRGB(#FFFFFF)CALL CLEARSCREEN($GCLEARSCREEN)RESULT=SETTEXTCOLORRGB(#FF0000)PRINT*,This is blueRESULT=SETCOLORRGB(#0000FF)CALL MOVETO(20,20
7、,XY)CALL OUTGTEXT(This is red)END,要使设置的背景色发生作用,须使用CLEARSCREEN函数清空目标区域,,线型 线型(LineStyle)是点、横线和空格等按一定规律重复出现而形成的图案,是构成直线条的基本图元。CALL SETLINESTYLE(mask)mask是一个16位二进制数,其中每位对应线型图元的一个像素。若位值为零,则像素保持当前背景色;若位值为1,则像素被置为当前前景色。缺省线型模式是#FFFF(实线)。如表所示,#FF00表示长虚线型,#F0F0表示短虚线型,缺省为实线(#FFFF)。,填充样式填充样式(FillMask)是横线、竖线和斜线
8、等按一定规律重复出现而形成的图案,是构成填充部分的基本图元。CALL SETFILLMASK(mask)其中mask为INTEGER(1)型的有8个元素的一维数组,数组元素中的每一位2进制代表填充元中的一个像素,值为1表示该像素点填充颜色,值为0表示该像素点不填充颜色;第n个数组元素对应填充元的第n行。如左表中所示的填充元为虚线,右表中所示的填充元为细实线。,五、基本图形函数,画像素点 result=SETPIXELRGB(x,y,color)result=SETPIXELRGB_W(wx,wy,color)其中(x,y)为INTEGER(2)型,为视口坐标系中目标像素的坐标;(wx.wy)为
9、 REAL(8)型,为视窗坐标系中目标像素的坐标。例12.5 绘制曲线。USE MSFLIBREAL(8)x,yPARAMETER(pi=3.141593)INTEGER(2)statusREAL(8):DZ=4.5,XJG=0.001D0CALL SETVIEWPORT(49,49,800-50,600-50)DO x=0,DZ,XJG!画函数曲线y=sin(x)*3status=SETPIXELRGB_W(x,y,#FFFFFF)END DOEND,设置绘图起点 CALL MOVETO(x,y,xy)CALL MOVETO_W(wx,wy,wxy)wx、wy均为 REAL(8)型,其意义为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 FORTRAN 图形 操作

链接地址:https://www.desk33.com/p-680711.html