Fortran Coder

查看: 9836|回复: 5
打印 上一主题 下一主题

[绘图界面库] 有个关于Intel Visual Fortran中Quickwin作图的问题

[复制链接]

3

帖子

1

主题

0

精华

新人

F 币
20 元
贡献
10 点
跳转到指定楼层
楼主
发表于 2014-12-28 12:13:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我使用ellipse设定了圆形的坐标,不过窗口显示的图形看起来像椭圆,使用rectangle也是同样的情况  我觉得问题应该出现在窗口比例的设定上  不过不会解决  求大神帮助   或者可以给我一段相关的程序 我自己研究也好

附上我的程序和图
初次发帖,考虑不周,已将程序复制,谢谢!
[Fortran] 纯文本查看 复制代码
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, 下载次数: 304)

QQ图片20141228121236.jpg
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2014-12-28 12:51:33 来自移动端 | 只看该作者
最好是复制粘贴代码,而不是截图。。不然我没法帮你调试。除非我重新输一遍代码

3

帖子

1

主题

0

精华

新人

F 币
20 元
贡献
10 点
板凳
 楼主| 发表于 2014-12-28 15:16:52 | 只看该作者
vvt 发表于 2014-12-28 12:51
最好是复制粘贴代码,而不是截图。。不然我没法帮你调试。除非我重新输一遍代码 ...

初次发帖,考虑不周。已将程序复制,谢谢!

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
地板
发表于 2014-12-28 16:12:14 | 只看该作者
本帖最后由 li913 于 2014-12-28 16:23 编辑

[Fortran] 纯文本查看 复制代码
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, 下载次数: 317)

graphy.png

3

帖子

1

主题

0

精华

新人

F 币
20 元
贡献
10 点
5#
 楼主| 发表于 2014-12-28 17:11:25 | 只看该作者
li913 发表于 2014-12-28 16:12
[mw_shl_code=fortran,true]program test
    use ifqwin
    implicit none

非常感谢,您这段代码是您自己写的还是什么资料上的呢?
如果是资料上的,能否把资料分享一下,我从网上没有找到比较全的Quickwin的资料,再次谢谢

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
6#
发表于 2014-12-29 08:58:58 | 只看该作者
这段代码是自己写的。你可以看看周振红的书《Intel Visual Fortran应用程序开发》
http://fcode.cn/resource_ebook-2-1.html
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-24 02:18

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表