program draw
use IFQWin
implicit none
real(8)::upx=-10.0,downx=10.0,upy=10.0,downy=-10.0
integer::status
logical(2)::finvert=.TRUE.
type(wxycoord)::wt
real(8)::wx1,wy1,wx2,wy2,wx3,wy3,wx4,wy4
wx1=-1.0;wy1=1.0;wx2=1.0;wy2=-1.0
wx3=3.0;wy3=1.0;wx4=5.0;wy4=-1.0
status=setwindow(finvert,upx,upy,downx,downy)
call moveTo_w(upx,0.0_8,wt)
status=lineto_w(downx,0.0_8)
call moveTo_w(0.0_8,downy,wt)
status=lineto_w(0.0_8,upy)
status=ellipse_w($gborder,wx1,wy1,wx2,wy2)
status=ellipse_w($gborder,wx3,wy3,wx4,wy4)
end program draw
QQ图片20141228121236.jpg (29.01 KB, 下载次数: 281)
vvt 发表于 2014-12-28 12:51
最好是复制粘贴代码,而不是截图。。不然我没法帮你调试。除非我重新输一遍代码 ...
program test
use ifqwin
implicit none
real(8) wx, wy
TYPE(wxycoord) wxy
type(windowconfig) wc
integer(2) istatus
logical(4) Lgc
!x,y 坐标范围
wx = 4.0; wy = 3.0
!获取默认窗口配置信息
istatus = getwindowconfig(wc)
!更改窗口大小,使x、y方向像素密度相同: wc%numXPixels/wx = wc%numYPixels/wy
wc%numXPixels = 800
wc%numYPixels = 600
do
!重新配置窗口。需要循环,因为可能执行一次不会成功
Lgc = setwindowconfig(wc)
if(Lgc) exit
end do
!设置x, y 范围
istatus = setwindow(.true., -wx, wy, wx, -wy)
call moveto_w(-wx,0.d0,wxy)
istatus = lineto_w(wx,0.)
call moveto_w(0.d0,-wy,wxy)
istatus = lineto_w(0,wy)
istatus = ellipse_w($gborder, -1,1,1,-1)
!最后显示时不要全屏
end
graphy.png (67.66 KB, 下载次数: 295)
li913 发表于 2014-12-28 16:12
[mw_shl_code=fortran,true]program test
use ifqwin
implicit none
欢迎光临 Fortran Coder (http://bbs.fcode.cn/) | Powered by Discuz! X3.2 |