Я новичок в 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 WindowsFormsApp10
{
public partial class Form1 : Form
{
private Bitmap Bmp;//we create a bitmap
SolidBrush Font = new SolidBrush(Color.Black); // background color
SolidBrush square1 = new SolidBrush(Color.White);//black and white color for our squares
SolidBrush square2 = new SolidBrush(Color.Black);
Timer timer1;
int angle = 0;
int angle1 = 0;
int angle2 = 0;
int angle3 = 0;
int angle4 = 0;
int angle5 = 0;
int angle6 = 0;
int angle7 = 0;
int angle8 = 0;
int angle9 = 0;
int angle10 = 0;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
timer1 = new Timer();
timer1.Tick += new EventHandler(timer1_Tick);
timer1.Start();
}
private void Draw()
{
Bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(Bmp);// We create graphics of bitmap
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
g.FillRectangle(Font, 0, 0, 979, 525);
g.TranslateTransform((float)this.Width / 2, (float)this.Height / 2);
g.RotateTransform(angle);
g.RotateTransform(1);
g.FillRectangle(square1, -110, -110, 220, 220);
g.RotateTransform(angle1);
g.RotateTransform(1);
g.FillRectangle(square2, -100, -100, 200, 200);
g.RotateTransform(angle2);
g.RotateTransform(1);
g.FillRectangle(square1, -90, -90, 180, 180);
g.RotateTransform(angle3);
g.RotateTransform(1);
g.FillRectangle(square2, -80, -80, 160, 160 );
g.RotateTransform(angle4);
g.RotateTransform(1);
g.FillRectangle(square1, -70, -70, 140, 140);
g.RotateTransform(angle5);
g.RotateTransform(1);
g.FillRectangle(square2, -60, -60, 120, 120);
g.RotateTransform(angle6);
g.RotateTransform(1);
g.FillRectangle(square1, -50, -50, 100, 100);
g.RotateTransform(angle7);
g.RotateTransform(1);
g.FillRectangle(square2, -40, -40, 80, 80);
g.RotateTransform(angle8);
g.RotateTransform(1);
g.FillRectangle(square1, -30, -30, 60, 60);
g.RotateTransform(angle9);
g.RotateTransform(1);
g.FillRectangle(square2, -20, -20, 40, 40);
g.RotateTransform(angle10);
g.RotateTransform(1);
g.FillRectangle(square1, -10, -10, 20, 20);
pictureBox1.BackgroundImage = Bmp;
}
private void timer1_Tick(object sender, EventArgs e)
{
angle++;
angle1++;
angle2++;
angle3++;
angle4++;
angle5++;
angle6++;
angle7++;
angle8++;
angle9++;
angle10++;
Draw();
pictureBox1.BackgroundImage = Bmp;
}
}
}