private void Redraw() { TechTreeBitmap = new Bitmap(TechTreeImage.Width, TechTreeImage.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb); Graphics g = Graphics.FromImage(TechTreeBitmap); centerX = TechTreeBitmap.Width / 2 / scaling; centerY = TechTreeBitmap.Height / 2 / scaling; centerX += horizontal; centerY += vertical; g.ScaleTransform(scaling, scaling); //чтение из фала списка технологий for (int i = 0; i < tech_subtech.Count; i++) { for (int z = 0; z < tech_subtech[i].Count; z++) { for (int j = 0; j < Player.technologies.Count; j++) { if (i == Player.technologies[j][0] && z <= Player.technologies[j][1]) { br = Brushes.Yellow; break; } else { br = Brushes.White; } } Font fnt = new Font("Consolas", 10.0F); Size string_lenght = TextRenderer.MeasureText(tech_subtech[i][z], fnt); g.DrawString(tech_subtech[i][z], fnt, br, new PointF(centerX + 300 * z, centerY + 300 - 30 * i)); g.DrawRectangle(Pens.AliceBlue, centerX + 300 * z - 2, centerY + 300 - 30 * i - 2, string_lenght.Width + 2, string_lenght.Height + 2); } } TechTreeImage.Image = TechTreeBitmap; TechTreeImage.Refresh(); }
private void Redraw() { TechTreeBitmap = new Bitmap(TechTreeImage.Width, TechTreeImage.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb); Graphics g = Graphics.FromImage(TechTreeBitmap); float centerX = TechTreeBitmap.Width / 2 / scaling; float centerY = TechTreeBitmap.Height / 2 / scaling; centerX += horizontal; centerY += vertical; g.ScaleTransform(scaling, scaling); g.DrawString("Обработка металлов.", new Font("Arial", 10.0F), Brushes.White, new PointF(centerX - 80, centerY + 50)); g.DrawString("Добыча полезных\n ископаемых.", new Font("Arial", 10.0F), Brushes.White, new PointF(centerX - 120, centerY + 100)); g.DrawString("Обработка металлов.", new Font("Arial", 10.0F), Brushes.White, new PointF(centerX + 20, centerY + 100)); TechTreeImage.Image = TechTreeBitmap; TechTreeImage.Refresh(); }
private void Redraw() { TechTreeBitmap = new Bitmap(TechTreeImage.Width, TechTreeImage.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb); Graphics g = Graphics.FromImage(TechTreeBitmap); float centerX = TechTreeBitmap.Width / 2 / scaling; float centerY = TechTreeBitmap.Height / 2 / scaling; centerX += horizontal; centerY += vertical; g.ScaleTransform(scaling, scaling); //чтение из фала списка технологий StreamReader tech_str = new StreamReader("Tech.txt"); int counter = 0; string line; while ((line = tech_str.ReadLine()) != null) { g.DrawString(line, new Font("Arial", 10.0F), Brushes.White, new PointF(centerX, centerY + 30 * counter)); counter++; } tech_str.Close(); g.DrawString("Добыча полезных\n ископаемых.", new Font("Arial", 10.0F), Brushes.White, new PointF(centerX - 170, centerY + 200)); g.DrawString("Обработка металлов.", new Font("Arial", 10.0F), Brushes.White, new PointF(centerX + 20, centerY + 200)); TechTreeImage.Image = TechTreeBitmap; TechTreeImage.Refresh(); }