Surfer画等值线(二)

      之前研究过一段时间用Surfer画等值线,后来项目需要把它改进了一下,做成了一个exe,方便在Java中传参调用。现在有时间整理一下把代码贴出来,也简单解释下,共同探讨改进之。

      我把用sufer画等值线的过程写成了一个带参函数。主要参数如下:string DataFile, 用来生成气象站等值线的bln文件及路径;

string BlankFile, 用来白化地区界的bln文件;

string flag, 一个用'0' '1'(我实际传参用的,其它任何字符也都可以) 表示是画等值线还是等值面的字符标志;

string LevelSet, 一个用逗号分隔的表示等级设置的字符串;

string ColorSet,与等级相对应的表示各个等级颜色的字符串;

 string StrText, 与等级相对应的注释字符串,我实际没有使用到这个参数;

string OutGraphics,输出图片位置及路径;

 string width, 输出图片宽度;

string height,输出图片高度,因为surfer中输出图片高度与宽度已经自动有一个比例了,所以这两个参数只有相对较小的那个起作用。

     在下面的代码中对等值线设置已经做了比较精确的控制,当初研究一些细节也花了一段时间,比如GridData的参数设置,精确的rgb颜色控制,symbol属性设置等。其中最重要的还是等级设置。注意,给的数值是设置的等级最小值,所有有些地方要主要假定一些参数值。

     另外,surfer输出中文超过六个字符有个乱码字符bug,我在程序中在相应的位置画了个矩形框给遮住了,呵呵!

      

 

     下面是我用的传参部分的代码:


       上面还用到了一个ImageProcess()函数,是用来对图片做了些处理,把它的两边边框与图片本身的距离做了些调整,因为在程序

中给图例留出了空白位置。下面是ImageProcess()函数代码:

  

    

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值