C# 坐标转换

来源:互联网 发布:centos squid 配置 编辑:程序博客网 时间:2024/06/06 01:38

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 坐标变换{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void button1_Click(object sender, EventArgs e)//平移变换        {            Rectangle r = new Rectangle(new Point(0,0), new Size(80, 80));//定义一个长方形,原点是(0,0),宽80高80            SolidBrush b = new SolidBrush(Color.Red);            Graphics g = this.CreateGraphics();            g.FillRectangle(b, r);            g.TranslateTransform(100f, 100f);//原点平移            Pen p = new Pen(Color.Red, 5);            g.DrawRectangle(p, r);            g.ResetTransform();            g.Dispose();            p.Dispose();            b.Dispose();        }        private void button4_Click(object sender, EventArgs e)//清空        {            Graphics g = this.CreateGraphics();            g.Clear(BackColor);            g.Dispose();        }        private void button2_Click(object sender, EventArgs e)//旋转变换        {            Rectangle r = new Rectangle(new Point(150, 150), new Size(80, 80));            SolidBrush b = new SolidBrush(Color.Red);            Graphics g = this.CreateGraphics();            g.FillRectangle(b, r);            g.RotateTransform(25f);//坐标轴向右旋转45度            Pen p = new Pen(Color.Red, 5);            g.DrawRectangle(p, r);            g.ResetTransform();            g.Dispose();            p.Dispose();            b.Dispose();        }        private void button3_Click(object sender, EventArgs e)//拉伸变换        {            Rectangle r = new Rectangle(new Point(100, 100), new Size(80, 80));            SolidBrush b = new SolidBrush(Color.Red);            Graphics g = this.CreateGraphics();            g.FillRectangle(b, r);            g.ScaleTransform(2f,0.5f);//X轴拉伸为2倍,Y轴拉伸为0.5倍            g.FillRectangle(b, r);            g.ResetTransform();            g.Dispose();            b.Dispose();        }    }}


0 0