static void DrawSlowPixel(int x, int y, MyColor c) { Color cc = c.Convert(); B.SetPixel(x, y, cc); Program.MyForm.PictureBoxInvalidate(); currentRate++; if (currentRate > refreshRate) // force l'affichage à l'écran tous les 1000pix { Program.MyForm.PictureBoxRefresh(); currentRate = 0; } }
static public void RefreshScreen(MyColor c) { if (!Program.MyForm.FastMode()) { DisplayMode = DisplayMode.SLOW_MODE; Graphics g = Graphics.FromImage(B); Color cc = c.Convert(); g.Clear(cc); } else { DisplayMode = DisplayMode.FULL_SPEED; data = B.LockBits(new Rectangle(0, 0, B.Width, B.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); stride = data.Stride; for (int x = 0; x < Largeur; x++) { for (int y = 0; y < Hauteur; y++) { DrawFastPixel(x, y, c); } } } }