public void GetFractal(int width, int height) { var watch = Stopwatch.StartNew(); var bitmap = new DirectBitmap(width, height); var progress = 0; Parallel.For(0, width, x => { for (var y = 0; y < height; y++) { double rel = (XMinVal + ((XMaxVal - XMinVal) / width) * (x + offsetX * zoom)) / zoom; double ima = (YMinVal + ((YMaxVal - YMinVal) / height) * (y + offsetY * zoom)) / zoom; var complexC = new Complex(rel, ima); var complexZ = new Complex(0, 0); var iteration = 0; while (iteration < iterations && Complex.Abs(complexZ) <= 2) { var complexNew = Complex.Pow(complexZ, 2); complexNew = Complex.Add(complexNew, complexC); complexZ = complexNew; iteration++; } if (iteration < iterations) { var smoothVal = iteration + 1 - Math.Log(Math .Log(Complex.Abs(complexZ))) / Math.Log(2); var color = ColorConversion.GetColor(smoothVal); bitmap.SetPixel(x, y, color); } else { bitmap.SetPixel(x, y, Color.Black); } } Interlocked.Increment(ref progress); if (progress % (width / 10) != 0) { return; } var percentage = (float)progress / width * 100; Listener.OnProgressChanged((int)percentage); }); watch.Stop(); Listener.OnTaskComplete(bitmap, watch.ElapsedMilliseconds); }
public static void GanttExcelQueryCell(object model, object args) { var record = (GanttRecordDetails)((Dictionary <string, object>)args)["Data"]; var cell = (IRange)((Dictionary <string, object>)args)["Cell"]; var column = (GanttColumn)((Dictionary <string, object>)args)["Column"]; var ganttModel = (GanttProperties)model; if (column.MappingName == ganttModel.ProgressMapping && !record.IsParentRow) { if (float.Parse(cell.Value) > 80) { cell.CellStyle.Color = ColorConversion.GetColor(new PdfColor(165, 105, 189)); } else if (float.Parse(cell.Value) < 20) { cell.CellStyle.Color = ColorConversion.GetColor(new PdfColor(240, 128, 128)); } } }
public static void ExcelQueryEvent(object sender, object args) { var data = (IRange)args; if (data.Column != 1 && data.Column != 2 && data.Column != 3 && data.Column != 4 && data.Column != 5 && data.Column != 6 && data.Column != 8) { if (float.Parse(data.Value) > 0 & float.Parse(data.Value) < 80) { data.CellStyle.Color = ColorConversion.GetColor(Color.OrangeRed); data.CellStyle.PatternColorIndex = ExcelKnownColors.YellowCustom; } if (float.Parse(data.Value) >= 80 && float.Parse(data.Value) < 90) { data.CellStyle.Color = ColorConversion.GetColor(Color.Yellow); data.CellStyle.PatternColorIndex = ExcelKnownColors.Black; } if (float.Parse(data.Value) >= 90) { data.CellStyle.Color = ColorConversion.GetColor(Color.LightGreen); data.CellStyle.PatternColorIndex = ExcelKnownColors.Yellow; } } }
public static void ExcelQueryEvent(object sender, object args) { var data = (IRange)args; if (data.Column != 1 && data.Column != 2 && data.Column != 3 && data.Column != 4) { if (float.Parse(data.Value) > 0 & float.Parse(data.Value) < 80.1) { data.CellStyle.Color = ColorConversion.GetColor(Color.LightGreen); data.CellStyle.PatternColorIndex = ExcelKnownColors.Red; } if (float.Parse(data.Value) >= 80.1 && float.Parse(data.Value) < 90) { data.CellStyle.Color = ColorConversion.GetColor(Color.Yellow); data.CellStyle.PatternColorIndex = ExcelKnownColors.Red2; } if (float.Parse(data.Value) >= 90) { data.CellStyle.Color = ColorConversion.GetColor(Color.Red); data.CellStyle.PatternColorIndex = ExcelKnownColors.Pink; } } }