Среда программирования:
Visual Studio 2013
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Threading; namespace Lab1 { public partial class Form1 : Form { //Инициализация bitmap и графики private Bitmap My; private Graphics g; //i положение по "oX" int i = 265; //y положение по "oY" int y = 220; //параметр для изменения радиуса круга int r = 4; public Form1() { InitializeComponent(); } private void pictureBox1_Click(object sender, EventArgs e) { } int cnt=0; private void Form1_Load(object sender, EventArgs e) { timer1.Start(); } //правый шар синего цвета private void DrawR1() { //Создаем bitmap My = new Bitmap(pictureBox1.Width, pictureBox1.Height); //Создаем графику из bitmap Graphics g = Graphics.FromImage(My); SolidBrush Gl2 = new SolidBrush(Color.Blue); //"очистка" экрана g.Clear(Color.White); //прорисовка круга g.FillEllipse(Gl2, i, y, 20 + r, 20 + r); // изменение положения для следующий прорисовки r = r + 52; y = y -26; i = i + 8; } //правый шар белого цвета private void DrawR2() { //Создаем bitmap My = new Bitmap(pictureBox1.Width, pictureBox1.Height); //Создаем графику из bitmap Graphics g = Graphics.FromImage(My); SolidBrush Gl3 = new SolidBrush(Color.White); g.Clear(Color.Blue); g.FillEllipse(Gl3, i, y, 20 + r, 20 + r); // изменение положения для следующий прорисовки r = r + 52; y = y -26; i = i + 8; } //левый шар синего цвета private void DrawL1() { //Создаем bitmap My = new Bitmap(pictureBox1.Width, pictureBox1.Height); //Создаем графику из bitmap Graphics g = Graphics.FromImage(My); SolidBrush Gl2 = new SolidBrush(Color.Blue); g.Clear(Color.White); g.FillEllipse(Gl2, i-r/2, y, 20 + r, 20 + r); // изменение положения для следующий прорисовки r = r - 52; y = y + 26; i = i + 16; } //левый шар белого цвета private void DrawL2() { //Создаем bitmap My = new Bitmap(pictureBox1.Width, pictureBox1.Height); //Создаем графику из bitmap Graphics g = Graphics.FromImage(My); SolidBrush Gl3 = new SolidBrush(Color.White); g.Clear(Color.Blue); g.FillEllipse(Gl3, i - r / 2, y, 20 + r, 20 + r); // изменение положения для следующий прорисовки r = r - 52; y = y + 26; i = i + 16; } private void timer1_Tick(object sender, EventArgs e) { //Создаем bitmap My = new Bitmap(pictureBox1.Width, pictureBox1.Height); //Создаем графику из bitmap Graphics g = Graphics.FromImage(My); //cnt определяет цвет фона и шара если "0" то шар синий фон белый if (cnt == 0) { //i-положение по оси "Х" if (i >= 255 && i < 343) { DrawR1(); } if (i >= 61 && i < 237) { DrawL1(); if (i >= 237) { i = 255; } } } else { if (i >= 255 && i < 343) { DrawR2(); } if (i >= 61 && i < 237) { DrawL2(); if (i >= 237) { i = 255; } } } //если то меняем цвет if (i >= 343) { i = 61; if (cnt == 0) { cnt = 1; } else { cnt = 0; } } //Выводим содержимое на picturebox pictureBox1.BackgroundImage = My; } } }
Прикрепленный файл | Размер |
---|---|
Muzychuk_Inversion.zip | 53.12 кб |