• 大小: 922KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: C#
  • 标签: C#  等值线  

资源简介

C# 实现的等值线 分为两个版本 供大家学习 http://blog.csdn.net/hzgjf/article/details/4230109

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Drawing;

namespace MyContour
{
    class Contour
    {
        private float[] _Data;
        /// 
        /// 等值线原始格点数据
        /// 

        public float[] Data
        {
            get { return _Data; }
            set { _Data = value; }
        }

        private float[] _ContourValues;
        /// 
        /// 等值线值数组
        /// 

        public float[] ContourValues
        {
            get { return _ContourValues; }
            set { _ContourValues = value; }
        }

        /// 
        /// 生成测试数据
        /// 

        public void MakeTestData()
        {
            const int nx = 30 ny = 20 nv = 8;

            _ContourValues = new float[nv];
            for (int i = 0; i < nv; i++)
            {
                _ContourValues[i] = i;
                //Trace.Write(_ContourValues[i] + ““);
            }


            _Data = new float[nxny];//nx列ny行
            Random ran = new Random();
            for(int j=0;j            {
                for(int i=0;i                {
                    _Data[i j] = ran.Next(0 10);
                    //如果格点值等于等值线值格点值加一个小值
                    for (int k = 0; k < nv; k++)
                    {
                        if (_Data[i j] == ContourValues[k])
                            _Data[i j] += 0.0001f;
                    }
                    //Trace.Write(_Data[i j]+““);
                }
                //Trace.WriteLine(““);
            }
        }        
        int jx jy v1 v2 v3 small medium large;
        int[] ix iy;
        float x1 x2 y1 y2 target scale = 30.0F;
        float[] X Y value;

        public Contour()
        {            
            this.ix = new int[4];
            this.iy = new int[4];
            this.X = new float[5];
            this.Y = new float[5];
            this.value = new float[5];
        }

        int iX(float xint width) { return (int)Math.Round(width/(Data.GetLength(0)-1) * x); }
        int iY(float yint height) { return (int)Math.Round(height/(Data.GetLength(1)-1) * y); }

        /// 
        /// 根据等值线值取得相应级别颜色
        /// 

        /// 
        /// 
        private Color getSpectrumColor(float value)
        {
            Color c = Color.Black;
            float c0 = 0.0F
              c1 = 256.0F
              c2 = 256.0F * 2.0F
              c3 = 256.0F * 3.0F
              c4 = 256.0F * 4.0F
              c5 = 256.0F * 5.0F;
            float Step = c5 * (value) /ContourValues.Length;

            if (Step > c4 && Step <= c5)
            {
                float a = Step - c4;
                c = Color.FromArgb(255 (int)(255.0F - 255.0F * a / c1) 0);
            }
     

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      24576  2013-01-07 11:05  MyContourV1.0\MyContour\bin\Debug\MyContour.exe

     文件      36352  2013-01-07 11:05  MyContourV1.0\MyContour\bin\Debug\MyContour.pdb

     文件       5632  2013-01-07 11:19  MyContourV1.0\MyContour\bin\Debug\MyContour.vshost.exe

     文件       7901  2009-05-31 23:44  MyContourV1.0\MyContour\Contour.cs

     文件       1675  2009-05-31 23:36  MyContourV1.0\MyContour\Form1.cs

     文件       4960  2009-05-31 23:36  MyContourV1.0\MyContour\Form1.Designer.cs

     文件       5814  2009-05-31 23:36  MyContourV1.0\MyContour\Form1.resx

     文件       3263  2009-05-30 23:01  MyContourV1.0\MyContour\MyContour.csproj

     文件        906  2013-01-07 11:20  MyContourV1.0\MyContour\MyContour.sln

    ..A..H.     11264  2013-01-07 11:20  MyContourV1.0\MyContour\MyContour.suo

     文件        842  2009-05-31 23:36  MyContourV1.0\MyContour\obj\Debug\MyContour.csproj.GenerateResource.Cache

     文件      24576  2013-01-07 11:05  MyContourV1.0\MyContour\obj\Debug\MyContour.exe

     文件        180  2013-01-07 11:05  MyContourV1.0\MyContour\obj\Debug\MyContour.frmMain.resources

     文件      36352  2013-01-07 11:05  MyContourV1.0\MyContour\obj\Debug\MyContour.pdb

     文件        180  2013-01-07 11:05  MyContourV1.0\MyContour\obj\Debug\MyContour.Properties.Resources.resources

     文件       1088  2013-01-07 11:19  MyContourV1.0\MyContour\obj\MyContour.csproj.FileListAbsolute.txt

     文件        470  2009-05-31 22:55  MyContourV1.0\MyContour\Program.cs

     文件       1176  2009-05-30 22:50  MyContourV1.0\MyContour\Properties\AssemblyInfo.cs

     文件       2874  2009-05-30 22:50  MyContourV1.0\MyContour\Properties\Resources.Designer.cs

     文件       5612  2009-05-30 22:50  MyContourV1.0\MyContour\Properties\Resources.resx

     文件       1094  2009-05-30 22:50  MyContourV1.0\MyContour\Properties\Settings.Designer.cs

     文件        249  2009-05-30 22:50  MyContourV1.0\MyContour\Properties\Settings.settings

     文件      28672  2011-11-28 14:13  MyContourV2.0\MyContour\bin\Debug\Interop.ViContour1.dll

     文件      28672  2013-01-07 11:16  MyContourV2.0\MyContour\bin\Debug\MyContour.exe

     文件      32256  2013-01-07 11:16  MyContourV2.0\MyContour\bin\Debug\MyContour.pdb

     文件       5632  2013-01-07 11:12  MyContourV2.0\MyContour\bin\Debug\MyContour.vshost.exe

     文件    3092480  2011-11-28 15:59  MyContourV2.0\MyContour\bin\Debug\TeeChart.dll

     文件     126976  2001-10-10 14:02  MyContourV2.0\MyContour\bin\Debug\ViContImg45.dll

     文件      94208  2001-12-02 18:02  MyContourV2.0\MyContour\bin\Debug\ViContour45.dll

     文件     110592  2006-01-27 12:59  MyContourV2.0\MyContour\bin\Debug\ViContour45.ocx

............此处省略43个文件信息

评论

共有 条评论