// Отрисовка слоёв private void DrawLayers() { // Сведение слоёв for (int i = 1; i < layers.Count; i++) { layers[0].Descriptor.DrawImage(layers[i].Layer, layers[i].Left, layers[i].Top); } // Отрисовка if (vm.IsCreated) { Bitmap b = (Bitmap)layers[0].Layer.Clone(); vm.AddFrame(b); b.Dispose(); savingLayersCounter++; gr.FillRectangle(brushes[0][0], 0, 0, this.Width, this.Height); string s = "- Rendering -\nPhase: " + currentPhase.ToString() + "\nFrames: " + savingLayersCounter.ToString() + "\nPackages left: " + mainStringsSet.Count.ToString(); if (mainStringsSet.Count > 0) { s += ("\nLines in current package left: " + mainStringsSet[0].Count.ToString()); } gr.DrawString(s, fonts[1], brushes[2][0], 0, 0); } else { gr.DrawImage(layers[0].Layer, layers[0].Left, layers[0].Top); } // Контроль завершения if (currentPhase > Phases.Finishing) { this.Close(); } }