• 在Seismic.NET下用最少的语句写出一个剖面显示程序


    用Seismic.NET开发地震剖面显示程序可以节省大量的时间,下面的代码展开了如何用最少的代码显示一个SEGY文件。

    // 用一行语句把 reader, pipeline, view 和 plot 都创建出来
    
    cgSeismicPlot plot = new cgSeismicPlot(
    
        new cgSeismicView(
    
            new cgSeismicPipeline(
    
                new cgSegyReader("test.segy"))),
    
        cgTraceAxisPosition.Both, // 上下都显示道号轴
    
        cgSampleAxisPosition.Both); // 左右都显示时间轴 
    
    // 创建一个PlotPanel用来容纳plot,这个plot本身是无窗口的
    
    cgScrollablePlotPanel plotControl = new cgScotPanel(plot);
    
    plotControl.Dock = DockStyle.Fill;  
    
    // 把Seismic.NET的控件放在Windows的控件中
    
    this.Controls.Add(plotControl);  

    程序运行效果:

    image

    当然,专业的剖面显示程序还需要许多交互性的功能,比如缩放、拖动、跟随鼠标显示关键信息、道反序、设置显示方式、显示十字光标等。

    最近写出了十五个例子程序,可以一步一步地搭建起基本剖面显示程序。

    例子一:迷你剖面显示程序.

    例子二:响应右键点击事件.

    例子三:缩放操作.

    例子四:剖面的坐标变换.

    例子五:十字光标.

    例子六:封装十字光标.

    例子七:漫游拖动剖面.

    例子八:道反序显示.

    例子九:输出CGM

    例子十:重构zoom和panning

    例子十一:状态栏显示测线号和CDP号.

    例子十二:变密度与彩色显示.

    例子十三:改变颜色棒.

    例子十四:打开任意SEGY文件.

    例子十五:读取SEGY的详细信息.

    clip_image002

    clip_image002[5]clip_image002[7]

    clip_image002[9]

    前2章试读的PDF文件可以点击这里下载

  • 相关阅读:
    jquery跨域3
    juery的跨域请求2
    jquery的跨域请求
    synchronized与Lock的区别
    springboot之启动原理解析及源码阅读
    java中Number类理解
    springboot中配置文件application.properties的理解
    restTemplate设置访问超时
    BigDecimal.setScale 处理java小数点
    NIO之FileChannel类的理解和使用
  • 原文地址:https://www.cnblogs.com/speeding/p/3528762.html
Copyright © 2020-2023  润新知