Язык программирования:
C#
Среда программирования:
Microsoft Visual Studio Community C#
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; namespace WindowsFormsApplication8 { public partial class Form1 : Form { private Bitmap b;//создаём bitmap и графику private Graphics g; SolidBrush bl = new SolidBrush(Color.Black);//определяем цвет ромба SolidBrush wh = new SolidBrush(Color.White);//определяем цвет креста-маски int k; float x = 0, w = 0; int angle = 45; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { timer1.Start();//в данной функции вызвается таймер } private void Draw()//функция изменения фигуры { b = new Bitmap(pictureBox1.Width, pictureBox1.Height);//создаём графику из bitmap Graphics g = Graphics.FromImage(b); g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;//для сглаживания g.FillRectangle(wh, 0, 0, 500, 500);//заливаем фон g.TranslateTransform((float)pictureBox1.Width / 2, (float)pictureBox1.Height / 2);//делим координатную сетку g.RotateTransform(angle);//поворачиваем на заданный угол g.FillRectangle(bl, -119, -119, 238, 238);//отрисовываем ромб g.FillRectangle(wh, -120, x, 240, w);//отрисовываем крест-маску g.FillRectangle(wh, x, -120, w, 240); pictureBox1.BackgroundImage = b; } private void timer1_Tick(object sender, EventArgs e) { if (angle < 405)//описываем вращение ромба { angle++; } if (angle >= 405) angle = 45; if (k < 40)//описываем изменение размера креста-маски { x -= 1; w += 2; k++; } if (k >= 40 && k <= 90) { x += 1; w -= 2; k++; } if (k > 90) { k = 0; w = 0; x = 0; } Draw(); pictureBox1.BackgroundImage = b; } } }