C#操作Styline二次开发实现画线功能

c#操作styline模型左键点击模型获取坐标,完成画线操作。

1:鼠标点击模型事件

 List pos = new List();        private bool Sgworld_OnLButtonClicked(int Flags, int X, int Y)        {                       var sgworld = new SGWorld66();            var postioninfo = sgworld.Window.PixelToWorld(X, Y);            IPosition66 ss = postioninfo.Position;            ss.X = postioninfo.Position.X;            ss.Y = postioninfo.Position.Y;            pos.Add(ss);             return false;        } 

2:操作画线

  string tMsg = String.Empty;            ILinearRing cRing = null;            IGeometry cPolygonGeometry = null;            ITerrainPolyline66 cpolyo = null;            //创建实例            //MessageBox.Show(String.Format("X:{0}\r\nY:{1}", posl[i].PosX, posl[i].PosX));            var sgworld = new SGWorld66();            List posl = pos;            int sin = 0;            sin = posl.Count*3;            double[] cVerticesArray = new double[sin];            //获取坐标值            for (int i = 0; i < posl.Count; i++)            {                 cVerticesArray[i*3] = posl[i].X;                cVerticesArray[i*3+1] = posl[i].Y;                cVerticesArray[i * 3 + 2] = posl[i].Altitude;            }             {                cRing = sgworld.Creator.GeometryCreator.CreateLinearRingGeometry(cVerticesArray);                cPolygonGeometry = sgworld.Creator.GeometryCreator.CreateLinearRingGeometry(cRing);            }             {                uint nLineColor = 0xFF00FF00; //颜色样式                AltitudeTypeCode AltitudeType = AltitudeTypeCode.ATC_ON_TERRAIN;                // D2. Create polygon                cpolyo = sgworld.Creator.CreatePolyline(cPolygonGeometry, nLineColor, AltitudeType, string.Empty, "Polygon");                ///注意坐标                sgworld.Window.PixelToWorld(sgworld.Window.Rect.Left, sgworld.Window.Rect.Top, WorldPointType.WPT_TERRAIN);            }

以上就是C#操作Styline二次开发实现画线功能的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1432709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 08:31:41
下一篇 2025年12月17日 08:32:09

相关推荐

  • C#中关于DBNULL的解释

    1   概述 如下例子,你觉得有什么问题?如你能很快的找出问题,并且解决它,那么你可以跳过本篇文章,谢谢~~。 1 List ltPI = new List();2 DataTable dt = GetBase_UserInfoToDataTable();3 for (int i = 0; i &l…

    好文分享 2025年12月17日
    000
  • C#中值类型与引用类型的详细介绍

    这篇文章主要为大家详细介绍了c#中值类型和引用类型的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在C#中,值类型和引用类型是相当重要的两个概念,必须在设计类型的时候就决定类型实例的行为。如果在编写代码时不能理解引用类型和值类型的区别,那么将会给代码带来不必要的异常。很多人就是因为没有…

    好文分享 2025年12月17日
    000
  • C#中pdf生成图片文字水印类的实现实例

    这篇文章主要介绍了c#实现的pdf生成图片文字水印类,结合完整实例形式分析了c#针对pdf文件的创建、添加文字、水印等相关操作技巧,需要的朋友可以参考下 本文实例讲述了C#实现的pdf生成图片文字水印类。分享给大家供大家参考,具体如下: public class PDFSetWaterMark{ /…

    好文分享 2025年12月17日
    000
  • C#实现操作字符串的方法总结

    这篇文章主要介绍了c#操作字符串方法总结实例代码,需要的朋友可以参考下 废话不多说了,具体代码如下所述: staticvoid Main(string[] args){ string s =””; //(1)字符访问(下标访问s[i]) s =”ABCD”; Console.WriteLine(s[…

    好文分享 2025年12月17日
    000
  • C#中实现复制与删除文件的方法

    这篇文章主要介绍了c# 复制与删除文件的实现方法的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下 C# 复制与删除文件的实现方法 1、首先是复制文件 首先打开我们的对话框获得文件路径,当然也可以直接编写路径 private void BtnAddFile_Clic…

    好文分享 2025年12月17日
    000
  • C#实现添加Word文本与图片超链接的方法

    本文给大家介绍如何用c#编程语言对word文档中的文本和图片进行超链接设置。感兴趣的朋友一起看看吧 超链接简单来讲就是内容链接,通过设置超链接可以实现对象与网页、站点之间的连接。链接目标可以是网页、图片、邮件地址、文件夹或者是应用程序。设置链接的对象可以是文本或者图片。 在以下内容中,我将介绍如何用…

    2025年12月17日
    000
  • C#中的抽象类与接口的详解

    问题出现: 我们在使用C#的抽象类和接口的时候,往往会遇到以下类似的问题,大致归纳如下: (1)抽象类和接口有什么本质的区别和联系? (2)什么时候选择使用抽象类,然啥时候使用接口最恰当呢? (3)在项目中怎样使用才能使得项目更具有可维护性、扩展性?怎样将它和Struct,类紧密的结合,达到最终的双…

    好文分享 2025年12月17日
    000
  • C#中关于程序功能实现以及对代码选择的思考

          接触c#语言只有短短几天时间,想要写出什么高大上的深入性研究文章,估计也是满篇的猜想和一些没有逻辑的推断。截至目前而言,从语言入门知识(大多数程序员的入门仪式——输出“hello,world!”)、数据和数据类型、数据运算、程序功能实现流程和循环、数组和集合这些分块的小知识到将所学知识串…

    2025年12月17日
    000
  • C#单例模式的实现以及性能对比的实例

    这篇文章主要介绍了浅谈c#单例模式的实现和性能对比的相关资料,详细的介绍了6种实现方式,需要的朋友可以参考下 简介 单例指的是只能存在一个实例的类(在C#中,更准确的说法是在每个AppDomain之中只能存在一个实例的类,它是软件工程中使用最多的几种模式之一。在第一个使用者创建了这个类的实例之后,其…

    好文分享 2025年12月17日
    000
  • C# ArrayListd的长度问题解决

    c# arraylistd的长度问题解决 namespace ArrayListd的长度问题{ class Program { static void Main(string[] args) { //需要的参数是object类型 //alt+shift+F10添加引用using System.Col…

    好文分享 2025年12月17日
    000
  • C# 加密类工具实例分析

    5.SHA1加密 //sha1加密 public static String getSha1(String str){ if(str==null||str.length()==0){ return null; } char hexDigits[] = {‘0′,’1′,’2′,’3′,’4’,’5’…

    好文分享 2025年12月17日
    000
  • C#实现杨辉三角的示例

    这篇文章主要介绍了c# 中杨辉三角的实现的相关资料,希望通过本文大家能掌握这部分内容,需要的朋友可以参考下 C# 中杨辉三角的实现 问题描述:创建一个程序来求三角形。该程序提示用户输入数据,然后显示出杨辉三角的规律。            // 输入描述:杨辉三角长,代表数值            …

    好文分享 2025年12月17日
    000
  • C#编写Windows服务程序的图文详解

    本文介绍了如何用c#创建、安装、启动、监控、卸载简单的windows service 的内容步骤和注意事项,需要的朋友可以参考下 一、创建一个Windows Service 1)创建Windows Service项目   2)对Service重命名 将Service1重命名为你服务名称,这里我们命名…

    2025年12月17日 好文分享
    000
  • C#中关于foreach实现的原理详解

    这篇文章主要为大家详细介绍了c#中foreach实现原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文主要记录我在学习C#中foreach遍历原理的心得体会。 对集合中的要素进行遍历是所有编码中经常涉及到的操作,因此大部分编程语言都把此过程写进了语法中,比如C#中的foreach。经常会看…

    好文分享 2025年12月17日
    000
  • C#通过KD树进行距离最近点的查找的实例分析

    这篇文章主要为大家详细介绍了c#通过kd树进行距离最近点的查找,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文首先介绍Kd-Tree的构造方法,然后介绍Kd-Tree的搜索流程及代码实现,最后给出本人利用C#语言实现的二维KD树代码。这也是我自己动手实现的第一个树形的数据结构。理解上难免会有…

    好文分享 2025年12月17日
    000
  • c#如何生成二维码的示例分享

    引用zxing类库 实现功能: 1生成带有Logo二维码 2 将二维码绘制到图片上 3 图片上绘制文字  生成二维码 public string CreateQrCode(string md5Str,string name,int sex) { string str = sex == 1? “先生”…

    好文分享 2025年12月17日
    000
  • C# 数组作为参数传递出现的问题解决

    原则:尽可能控制对数据的修改,如果可以预测某个数据不会或不应该被改变,就要对其控制,而不要期望使用这个数据的调用者不会改变其值。 如果参数在使用过程中被意外修改,将会带来不可预知的结果,而且这种错误很难被检查到,所以我们在设计方法参数的时候,要充分考虑传递引用类型参数或者引用方式传递引用类型参数可能…

    好文分享 2025年12月17日
    000
  • C#根据表格偶数与奇数加载不同颜色的实例分析

    这篇文章主要介绍了c# 根据表格偶数、奇数加载不同颜色,需要的朋友可以参考下 效果图:        //偶数随机 Random evenRanm = new Random(); //奇数随机 Random oddRanm = new Random(); string[] listColor = n…

    2025年12月17日
    000
  • C#之FastSocket实战项目的示例分享

    一、FastSocket课程介绍  .net框架虽然微软提供了socket通信的类库,但是还有很多事情要自己处理,比如tcp协议需要处理分包、组包、粘包、维护连接列表等,udp协议需要处理丢包、乱序,而且对于多连接并发,还要自己处理多线程等等。本期分享课程阿笨给大家带来的是来源于github开源so…

    2025年12月17日 好文分享
    000
  • c#之浮点数计算问题的解决

    给大家看个计算题,看看大家的算术能力。 0.1 +0.1 +0.1 – 0.3 等于几? 大家可能会说这么简单的问题,是不是看不起我?肯定等于0啊。 如果大家直接算的是没有问题的,但是如果用计算机呢? 见证奇迹的时刻到了,看代码: void Main(){ var f = 0.1 +0.…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信