平移变换:
绘制矩形:第一个参数确定起始点,第二个参数确定尺寸
Rectangle rect = new Rectangle(new Point(20,20),new Size(120,130));
实例:
// 平移
private void button1_Click(object sender, EventArgs e)
{
// 绘制矩形
Rectangle rect = new Rectangle(new Point(20,20),new Size(120,130));
Graphics g = this.CreateGraphics();
// 画实心体
g.FillRectangle(Brushes.DarkBlue,rect);
// 平移代码:参数是确定平移之后的原点
g.TranslateTransform(150,120);
Pen pen = new Pen(Color.DarkBlue,3);
// 使用线画图
g.DrawRectangle(pen,rect);
g.ResetTransform(); // 绘图结束之后,坐标原点发生变化,想让其回到原始的原点,就会用到这句话
}
绘图结束之后,坐标原点发生变化,想让其回到原始的原点,就会用到这句话
g.ResetTransform();
平移代码:参数是确定平移之后的原点
g.TranslateTransform(150,120);
旋转变换:
实例:
// 旋转
private void button2_Click(object sender, EventArgs e)
{
// 绘制矩形
Rectangle rect = new Rectangle(new Point(120, 120), new Size(120, 130));
Graphics g = this.CreateGraphics();
// 画实心体
g.FillRectangle(Brushes.DarkBlue, rect);
// 旋转
g.RotateTransform(20);
Pen pen = new Pen(Color.Red, 3);
// 使用线画图
g.FillRectangle(Brushes.Red, rect);
//g.ResetTransform();
}
旋转代码:参数是旋转角度(0-90)
g.RotateTransform(20);
伸缩代码:
// 伸缩
private void button3_Click(object sender, EventArgs e)
{
// 绘制矩形
Rectangle rect = new Rectangle(new Point(120, 120), new Size(120, 130));
Graphics g = this.CreateGraphics();
// 画实心体
g.FillRectangle(Brushes.DarkBlue, rect);
// 旋转
g.ScaleTransform(5,1);
Pen pen = new Pen(Color.Red, 3);
// 使用线画图
g.FillRectangle(Brushes.Red, rect);
//g.ResetTransform();
}
伸缩代码:参数是x轴、Y轴的伸缩长度。
g.ScaleTransform(2,1)
测试使用全部代码:
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 zuobiao
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
// 平移
private void button1_Click(object sender, EventArgs e)
{
// 绘制矩形
Rectangle rect = new Rectangle(new Point(20,20),new Size(120,130));
Graphics g = this.CreateGraphics();
// 画实心体
g.FillRectangle(Brushes.DarkBlue,rect);
g.TranslateTransform(150,120);
Pen pen = new Pen(Color.DarkBlue,3);
// 使用线画图
g.DrawRectangle(pen,rect);
//g.ResetTransform();
}
// 旋转
private void button2_Click(object sender, EventArgs e)
{
// 绘制矩形
Rectangle rect = new Rectangle(new Point(120, 120), new Size(120, 130));
Graphics g = this.CreateGraphics();
// 画实心体
g.FillRectangle(Brushes.DarkBlue, rect);
// 旋转
g.RotateTransform(20);
Pen pen = new Pen(Color.Red, 3);
// 使用线画图
g.FillRectangle(Brushes.Red, rect);
//g.ResetTransform();
}
// 伸缩
private void button3_Click(object sender, EventArgs e)
{
// 绘制矩形
Rectangle rect = new Rectangle(new Point(120, 120), new Size(120, 130));
Graphics g = this.CreateGraphics();
// 画实心体
g.FillRectangle(Brushes.DarkBlue, rect);
// 旋转
g.ScaleTransform(2f,3f);
Pen pen = new Pen(Color.Red, 3);
// 使用线画图
g.FillRectangle(Brushes.Red, rect);
//g.ResetTransform();
}
}
}
有好的建议,请在下方输入你的评论。
欢迎访问个人博客
https://guanchao.site
欢迎访问小程序:

版权声明:本文为qq_39708228原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。