乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      ZedGraph怎樣在生成曲線時隨機生成不一樣的顏色

       新進小設(shè)計 2021-04-19

      場景

      在使用ZedGraph生成多條曲線時為了能區(qū)分曲線顏色,要求隨機設(shè)置曲線顏色

      首先從System.Drawing.Color中獲取所有顏色的對象的數(shù)組,然后將其順序打亂隨機排序,然后在生成曲線時從Color數(shù)組中取Color并賦值。

      效果

       

       

      注:

      博客主頁:
      https://blog.csdn.net/badao_liumang_qizhi
      關(guān)注公眾號
      霸道的程序猿
      獲取編程相關(guān)電子書、教程推送與免費下載。

      實現(xiàn)

      單純生成曲線的代碼

      LineItem myCurve = myPane.AddCurve(yList[i].Title, list, curveColor, SymbolType.None);

      第一個參數(shù):圖例標(biāo)題

      第二個參數(shù):坐標(biāo)點的list

      第三個參數(shù):顏色Color對象

      第四個參數(shù):曲線節(jié)點符號

      所以在生成曲線時就要在第三個參數(shù)上進行修改

      首先獲取Color的所有顏色對象

      //用于存取取出的顏色對象 
      List<Color> colorList = new List<Color>(); 
      //通過GetMember獲取所有的公共成員 
      foreach (var item in typeof(Color).GetMembers()) 
            { 
             //只取屬性且為屬性中的已知Color,剔除byte屬性以及一些布爾屬性等(A B G R IsKnownColor Name等) 
                if (item.MemberType == System.Reflection.MemberTypes.Property && System.Drawing.Color.FromName
      
      (item.Name).IsKnownColor == true) 
                    { 
                        Color color = System.Drawing.Color.FromName(item.Name); 
                        colorList.Add(color); 
                     } 
              } 
      //轉(zhuǎn)成數(shù)組 
      Color[] colors = colorList.ToArray();

       

      然后將Color數(shù)組的順序進行打亂

      colors = GetDisruptedItems(colors);

       

      調(diào)用亂序方法

      private static Color[] GetDisruptedItems(Color[] colors) 
              { 
                  //生成一個新數(shù)組:用于在之上計算和返回 
                  Color[] temp; 
                  temp = new Color[colors.Length]; 
                  for (int i = 0; i < temp.Length; i++) 
                  { 
                      temp[i] = colors[i]; 
                  }
      
                  //打亂數(shù)組中元素順序 
                  Random rand = new Random(DateTime.Now.Millisecond); 
                  for (int i = 0; i < temp.Length; i++) 
                  { 
                      int x, y; Color t; 
                      x = rand.Next(0, temp.Length); 
                      do 
                      { 
                          y = rand.Next(0, temp.Length); 
                      } while (y == x);
      
                      t = temp[x]; 
                      temp[x] = temp[y];
                      temp[y] = t; 
                  }
      
                  return temp;
      
              }

       

      然后在循環(huán)生成曲線時,循環(huán)條件為要生成的曲線數(shù)量與顏色數(shù)組的長度進行對比判斷。

      int index = 0;
      //循環(huán)添加曲線
      foreach(DataTreeNode node in Global.Instance.PrepareCompareDataInOne)
            {
                
                 list = SetCurveTextInOne(yList[i].TitleKey,record);
                 //如果要生成的曲線數(shù)量 < 顏色數(shù)組長度 那么就從顏色數(shù)組中去按索引取
                 Color curveColor = new Color();
                 if (Global.Instance.PrepareCompareDataInOne.Count < colors.Length)
                     {
                          curveColor = colors[index];
                      }
                 //否則要生成的曲線數(shù)量 > 顏色數(shù)組長度
                 else
                      {
                          //當(dāng)索引達到顏色數(shù)組的長度時 索引置0
                          if (index >= colors.Length)
                             {
                                 index = 0;
                              }
                          curveColor = colors[index];
                      }
                  LineItem myCurve = myPane.AddCurve(yList[i].Title, list, curveColor, SymbolType.None);
                  index++;
       }

       

      其中Global.Instance.PrepareCompareDataInOne就是要生成的曲線的數(shù)據(jù),其Count就是要生成的曲線數(shù)量。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多