예제 #1
0
        private static void AddNewRandomColor()
        {
            Color newColor;

            while (true)
            {
                newColor = Color.FromArgb(255, Random.Next(0, 255), Random.Next(0, 255), Random.Next(0, 255));
                if (!ColorValues.Contains(ColorTranslator.ToHtml(newColor)))
                {
                    break;
                }
            }
            ColorValues.Add(ColorTranslator.ToHtml(newColor));
        }
예제 #2
0
 public static Grain GetGrain(Color color)
 {
     if (color.ToArgb() == Color.White.ToArgb())
     {
         return(Grain.EmptyGrain);
     }
     else if (color.ToArgb() == Color.Black.ToArgb())
     {
         return(Grain.InjectionGrain);
     }
     else
     {
         var colorHtml = ColorTranslator.ToHtml(color);
         var id        = ColorValues.FindIndex(x => colorHtml == x);
         if (id == -1)
         {
             ColorValues.Add(colorHtml);
         }
         return(new Grain(++id));
     }
 }
예제 #3
0
        public MapChart()
        {
            InitializeComponent();

              maps.Source = null;

              vl = new C1VectorLayer() { LabelVisibility = LabelVisibility.Hidden,
                                 Foreground = new SolidColorBrush(Color.FromArgb(255, 0x97, 0x35, 0x35))};

              // read text data from resources
              using (Stream stream = Assembly.GetExecutingAssembly()
            .GetManifestResourceStream("MapsSamples.Resources.gdp-ppp.txt"))
              {
            using (StreamReader sr = new StreamReader(stream))
            {
              for (; !sr.EndOfStream; )
              {
            string s = sr.ReadLine();

            string[] ss = s.Split(new char[] { '\t' },
              StringSplitOptions.RemoveEmptyEntries);

            countries.Add(new Country() { Name = ss[1].Trim(), Value = double.Parse(ss[2], CultureInfo.InvariantCulture) });
              }
            }
              }

              // create palette
              ColorValues cvals = new ColorValues();
              cvals.Add(new ColorValue() { Color = Color.FromArgb(255,241,244,255), Value = 0 });
              cvals.Add(new ColorValue() { Color = Color.FromArgb(255, 241, 244, 255), Value = 5000 });
              cvals.Add(new ColorValue() { Color = Color.FromArgb(255, 224, 224, 246), Value = 10000 });
              cvals.Add(new ColorValue() { Color = Color.FromArgb(255, 203, 205, 255), Value = 20000 });
              cvals.Add(new ColorValue() { Color = Color.FromArgb(255, 179, 182, 230), Value = 50000 });
              cvals.Add(new ColorValue() { Color = Color.FromArgb(255, 156, 160, 240), Value = 100000 });
              cvals.Add(new ColorValue() { Color = Color.FromArgb(255, 127, 132, 243), Value = 200000 });
              cvals.Add(new ColorValue() { Color = Color.FromArgb(255, 89, 97, 230), Value = 500000 });
              cvals.Add(new ColorValue() { Color = Color.FromArgb(255, 56, 64, 217), Value = 1000000 });
              cvals.Add(new ColorValue() { Color = Color.FromArgb(255,19,26,148), Value = 2000000 });
              cvals.Add(new ColorValue() { Color = Color.FromArgb(255,0,3,74), Value = 1.001 * countries.GetMax() });

              countries.Converter = cvals;

              // read world map from resources
              Utils.LoadKMZFromResources(vl, "MapsSamples.Resources.WorldMap.kmz",
            true, ProcessWorldMap);

              maps.Layers.Add(vl);

              maps.TargetZoomChanged += new EventHandler<C1.WPF.PropertyChangedEventArgs<double>>(maps_TargetZoomChanged);

              InitLegend();
        }