Esempio n. 1
0
        protected override IMAGE32 Evaluate()
        {
            var size = new SixLabors.Primitives.Size(Width, Height);

            var result = new IMAGE32(size.Width, size.Height);

            using (var target = new IMAGE32(size.Width, size.Height))
            {
                var substrate = Epsylon.ImageSharp.Procedural.Processing.Substrate.Create(target, RandomSeed.GetRandomSeedHash(), Palette);

                for (int i = 0; i < Iterations; ++i)
                {
                    this.SetProgressPercent(i * 100 / Iterations);

                    substrate.DrawStep();
                }

                result.Mutate
                (
                    dc =>
                {
                    dc.Fill(Rgba32.White);
                    dc.DrawImage(target, 1);
                }
                );

                return(result);
            }
        }