Exemple #1
0
        internal void DrawFrame(Point2[] pixels, DataForMap2D data, Bitmap bmp, int step = 0)
        {
            switch (Projection)
            {
            case Projection.Healpix:
                data.Draw(bmp, 0, pixels, YResolution);
                break;

            case Projection.Healpix2Equirectangular:
            case Projection.Equirectangular:
                foreach (var pixel in pixels)
                {
                    var    coor = Equirectangular.CoorFromXY(pixel, YResolution, HealpixManager, step);
                    double?altitude;
                    if (Projection == Projection.Healpix2Equirectangular)
                    {
                        var deltas = data.ApproxMan.GetDeltas(coor);
                        altitude = data.ApproxMan.GetMeanAltitude(deltas);
                        data.CheckMaxMin(altitude);
                    }
                    else
                    {
                        altitude = data.GetAltitude(new HealCoor(coor));
                    }

                    if (altitude.HasValue)
                    {
                        data.Colors.SetPixelOnBmp(altitude.Value, bmp, pixel, Scale);
                    }
                }
                break;
            }
        }
Exemple #2
0
        private void DrawFrames(Point2[] pixels, DataForMap2D data)
        {
            string bitmap = null;

            for (var step = 0; step < Frames; step++)
            {
                var bmp = CreateBitmap();

                DrawFrame(pixels, data, bmp, step);

                DrawLegend(data, bmp);

                bitmap = SaveBitmap(bmp, data.Colors, data.Accuracy, step);
            }
            Process.Start(bitmap);
        }