//РИСОВАНИЕ //====================================================================================== public void drawCanvas() //рисование точечного рисунка { canvas.Dispose(); // Dispose - явное освобождение ресурсов, т.е. "удаляем" старый точечный рисунок... canvas = new Bitmap(pictWidth, pictHeight); //...и создаём новый Graphics g = Graphics.FromImage(canvas); //Graphics.FromImage cоздает новый объект Graphics из указанного объекта canvas g.Clear(backColor); //Очищаем всю поверхность рисования и выполняем заливку поверхности указанным цветом фона foreach (AbstractFigure go in fstorage) { go.draw(ref g); } if (paintAction) { toPaint.drawFrame(ref g); //если зажата кнопка мыши, то рисуем временный рисунок } g.Dispose(); }
//DRAWING //====================================================================================== public void drawCanvas() { canvas.Dispose(); //destroy old bitmap... canvas = new Bitmap(pictWidth, pictHeight); //...and create a new one Graphics g = Graphics.FromImage(canvas); g.Clear(backColor); foreach (AbstractFigure go in fstorage) { go.draw(ref g); } if (paintAction) { toPaint.drawFrame(ref g); //draw temporary figure } g.Dispose(); }