在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文件可以点击这里下载

 

posted @   申龙斌的程序人生  阅读(1386)  评论(3编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2008-01-21 初次听说Haskell
点击右上角即可分享
微信分享提示