public void ChangeHeatMapColor() { // TODO evaluate this for performance...may need to decrease call frequency foreach (HeatNode node in ConnectedNodes) { HeatMapImage.SetPixel(node.Collumn, node.Row, node.MyColor); } HeatMapImage.Apply(); }
Bitmap Example1(int width, int height, int count) { datasGen = new MockDatasGen(width, height); List <DataType> datas = datasGen.CreateMockDatas(count); HeatMapImage heatMapImage = new HeatMapImage(width, height, 200, 50); var sw = new Stopwatch(); sw.Start(); heatMapImage.SetDatas(datas); sw.Stop(); textBox1.Text += $@"Set Data, TotalSeconds{sw.Elapsed.TotalSeconds}"; textBox1.Text += Environment.NewLine; return(heatMapImage.GetHeatMap()); }
/// <summary> /// 创建热力图 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void uiButton_create_Click(object sender, EventArgs e) { if (todayOrTotal == 1 || todayOrTotal == 2) { //加载图片 Bitmap bitmap = (Bitmap)Properties.Resources.KeyBord; //创建热力图 HeatMapImage heatMapImage = new HeatMapImage(bitmap.Width, bitmap.Height, 150, 30); //加载数据 if (todayOrTotal == 1) { foreach (Key_Today key in KeyData_Today.todayData.KeyDatas) { //判断是否跳过数据 if (key.IsIgnore) { continue; } heatMapImage.SetAData(new DataType(key.Key_x, key.Key_y, key.Key_count)); } //更新详细信息 uiLabel_total.Text = "总数:" + KeyData_Today.todayData.Total; uiLabel_date.Text = "日期:" + KeyData_Today.todayData.Date; } else if (todayOrTotal == 2) { for (int i = 0; i < KeyData_Total.totalData.KeyDatas.Count && i < KeyData_Today.todayData.KeyDatas.Count; i++) { //判断是否跳过数据 if (KeyData_Today.todayData.KeyDatas[i].IsIgnore) { continue; } heatMapImage.SetAData(new DataType(KeyData_Today.todayData.KeyDatas[i].Key_x, KeyData_Today.todayData.KeyDatas[i].Key_y, KeyData_Total.totalData.KeyDatas[i].Key_count)); } //更新数据面板 uiLabel_total.Text = "总数:" + KeyData_Total.totalData.Total; uiLabel_date.Text = "日期:" + KeyData_Total.totalData.StartDate + "至" + KeyData_Total.totalData.EndDate; } Bitmap img = heatMapImage.GetHeatMap(bitmap); pictureBox1.Image = img; pictureBox1.Refresh(); uiButton_save.Enabled = true; } }
static void Example1() { Console.WriteLine("Create some mock datas"); datasGen = new MockDatasGen(WIDTH, HEIGHT); List <DataType> datas = datasGen.CreateMockDatas(100); Console.WriteLine("Set datas"); HeatMapImage heatMapImage = new HeatMapImage(WIDTH, HEIGHT, 200, 50); heatMapImage.SetDatas(datas); Console.WriteLine("Calculate and generate heatmap"); Bitmap img = heatMapImage.GetHeatMap(); img.Save("..\\..\\..\\..\\Images\\heatmap1.png"); }
public virtual IActionResult ZonePeopleHeatMapImageInfoZoneIdGet([FromRoute][Required] int?zoneId) { if (!ModelState.IsValid) { var error = ModelState.SelectMany(x => x.Value.Errors).First(); if (error.ErrorMessage != null && error.ErrorMessage != String.Empty) { return(BadRequest(error.ErrorMessage)); } else if (error.Exception?.Message != null) { return(BadRequest("Faulty input")); } else { return(BadRequest(ModelState)); } } string errorMessage = ""; string fileN = System.Guid.NewGuid().ToString() + ".png"; string fileName = Path.Combine(_environment.WebRootPath, fileN); string exampleJson = null; HeatMapImage results = null; try { HeatMapManagement.CreateHeatMapResult hmr = new HeatMapManagement.CreateHeatMapResult(); //if (!hmr.GetHeatMapInfo(fileName, ref results, ref errorMessage)) // return BadRequest("Internal Server Error:" + errorMessage); //results.Url = "https://portal.monica-cloud.eu/cop/api/" + fileN; results.LatStart = (decimal)55.674531; results.LatEnd = (decimal)55.673326; results.LonStart = (decimal)12.564993; results.LonStart = (decimal)12.568821; results.Url = "https://portal.monica-cloud.eu/cop/crowd_heatmap/"; } catch (Exception e) { return(BadRequest("Internal Server Error:" + e.Message)); } return(new ObjectResult(results)); }
Bitmap Example2(int width, int height, int count) { datasGen = new MockDatasGen(width, height); HeatMapImage heatMapImage = new HeatMapImage(width, height, 200, 50); var sw = new Stopwatch(); sw.Start(); for (int i = 0; i < count; i++) { DataType data = datasGen.CreateAData(); heatMapImage.SetAData(data); } sw.Stop(); textBox1.Text += $@"Set Data, TotalSeconds{sw.Elapsed.TotalSeconds}"; textBox1.Text += Environment.NewLine; return(heatMapImage.GetHeatMap()); }
static void Example2() { Console.WriteLine("Create some mock datas"); datasGen = new MockDatasGen(WIDTH, HEIGHT); HeatMapImage heatMapImage = new HeatMapImage(WIDTH, HEIGHT, 200, 50); Console.WriteLine("Start generating data and recording"); for (int i = 0; i < 200; i++) { DataType data = datasGen.CreateAData(); heatMapImage.SetAData(data); } Console.WriteLine("Calculate and generate heatmap"); Bitmap img = heatMapImage.GetHeatMap(); img.Save("..\\..\\..\\..\\Images\\heatmap2.png"); }