Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
                }
            }
        }
Esempio n. 3
0
        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;
                }
            }
        }
Esempio n. 4
0
        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;
                }
            }
        }