Работа с графикой в формах - C#
Формулировка задачи:
Помогите пожалуйста изменить программу в работе с графикой в формах
Нужно чтобы выводило именно круги рандомного радиуса, а у меня может вывести и овал.
Вот код
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace aw { public partial class Form1 : Form { Graphics graph; Bitmap img; public Form1() { InitializeComponent(); SetStyle(ControlStyles.ResizeRedraw, true); } protected override void OnPaint(PaintEventArgs e) { if (timer1.Enabled) { graph = panel1.CreateGraphics(); DrawCircle(); } } void DrawCircle() { int x = panel1.Width; int y = panel1.Height; Random rnd = new Random(); Brush brsh = new SolidBrush(Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255))); Point rsz = new Point(rnd.Next(x), rnd.Next(y)); Size sz = new Size(rnd.Next(x - rsz.X), rnd.Next(y - rsz.Y)); Rectangle rct = new Rectangle(rsz, sz); graph.FillEllipse(brsh, rct); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { timer1.Enabled = true; } private void button2_Click(object sender, EventArgs e) { timer1.Enabled = false; } private void timer1_Tick(object sender, EventArgs e) { if (timer1.Enabled) { this.Invalidate(false); } } private void panel1_Paint(object sender, PaintEventArgs e) { } } }
Решение задачи: «Работа с графикой в формах»
textual
Листинг программы
int s =rnd.Next(x - rsz.X); // только тут возможно надо брать меньшее из Yи X Size sz = new Size(s,s);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д