資源簡介
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?????????????{
????????????????_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?????????????????????{
????????????????????????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個文件信息
- 上一篇:C#酒店管理系統功能很全面
- 下一篇:CTP上期技術平臺API及C#封裝
評論
共有 條評論