using System;
局部坐标的使用_局部坐标
using System.Drawing;
局部坐标的使用_局部坐标
using System.Collections;
局部坐标的使用_局部坐标
using System.ComponentModel;
局部坐标的使用_局部坐标
using System.Windows.Forms;
局部坐标的使用_局部坐标
using System.Data;
局部坐标的使用_局部坐标
using System.Drawing.Drawing2D;
局部坐标的使用_局部坐标
局部坐标的使用_局部坐标
namespace 局部坐标
局部坐标的使用_职场_09
{
局部坐标的使用_局部坐标_11    
/// <summary>
局部坐标的使用_休闲_13    
/// Form1 的摘要说明。
局部坐标的使用_职场_14    
/// </summary>

局部坐标的使用_休闲_13    public class Form1 : System.Windows.Forms.Form
局部坐标的使用_职场_16    
{
局部坐标的使用_局部坐标_18        
/// <summary>
局部坐标的使用_休闲_13        
/// 必需的设计器变量。
局部坐标的使用_职场_14        
/// </summary>

局部坐标的使用_休闲_13        private System.ComponentModel.Container components = null;
局部坐标的使用_休闲_13
局部坐标的使用_休闲_13        
public Form1()
局部坐标的使用_休闲_25        
{
局部坐标的使用_休闲_13            
//
局部坐标的使用_休闲_13            
// Windows 窗体设计器支持所必需的
局部坐标的使用_休闲_13            
//
局部坐标的使用_休闲_13
            InitializeComponent();
局部坐标的使用_休闲_13
局部坐标的使用_休闲_13            
//
局部坐标的使用_休闲_13            
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
局部坐标的使用_休闲_13            
//
局部坐标的使用_职场_14
        }

局部坐标的使用_休闲_13
局部坐标的使用_休闲_37        
/// <summary>
局部坐标的使用_休闲_13        
/// 清理所有正在使用的资源。
局部坐标的使用_职场_14        
/// </summary>

局部坐标的使用_休闲_13        protected override void Dispose( bool disposing )
局部坐标的使用_休闲_42        
{
局部坐标的使用_休闲_13            
if( disposing )
局部坐标的使用_职场_45            
{
局部坐标的使用_休闲_13                
if (components != null
局部坐标的使用_职场_48                
{
局部坐标的使用_休闲_13                    components.Dispose();
局部坐标的使用_职场_14                }

局部坐标的使用_职场_14            }

局部坐标的使用_休闲_13            
base.Dispose( disposing );
局部坐标的使用_职场_14        }

局部坐标的使用_休闲_13
局部坐标的使用_职场_57        
#region Windows Form Designer generated code
局部坐标的使用_休闲_58        
/// <summary>
局部坐标的使用_休闲_13        
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
局部坐标的使用_休闲_13        
/// 此方法的内容。
局部坐标的使用_职场_14        
/// </summary>

局部坐标的使用_休闲_13        private void InitializeComponent()
局部坐标的使用_局部坐标_64        
{
局部坐标的使用_休闲_13            
// 
局部坐标的使用_休闲_13            
// Form1
局部坐标的使用_休闲_13            
// 
局部坐标的使用_休闲_13
            this.AutoScaleBaseSize = new System.Drawing.Size(614);
局部坐标的使用_休闲_13            
this.ClientSize = new System.Drawing.Size(704454);
局部坐标的使用_休闲_13            
this.Name = "Form1";
局部坐标的使用_休闲_13            
this.Text = "Form1";
局部坐标的使用_休闲_13
局部坐标的使用_职场_14        }

局部坐标的使用_职场_14        
#endregion

局部坐标的使用_休闲_13
局部坐标的使用_职场_77        
/// <summary>
局部坐标的使用_休闲_13        
/// 应用程序的主入口点。
局部坐标的使用_职场_14        
/// </summary>

局部坐标的使用_休闲_13        [STAThread]
局部坐标的使用_休闲_13        
static void Main() 
局部坐标的使用_职场_83        
{
局部坐标的使用_休闲_13            Application.Run(
new Form1());
局部坐标的使用_职场_14        }

局部坐标的使用_休闲_13
局部坐标的使用_休闲_13        
protected override void OnPaint(PaintEventArgs e)
局部坐标的使用_局部坐标_89        
{
局部坐标的使用_休闲_13            Graphics g 
= e.Graphics;
局部坐标的使用_休闲_13            
//把客户区设置为白色
局部坐标的使用_休闲_13
            g.FillRectangle(Brushes.White, this.ClientRectangle);
局部坐标的使用_休闲_13            
//定义相对于X轴镜像的转换矩阵,使得Y轴朝上
局部坐标的使用_休闲_13
            Matrix mat=new Matrix(100-100);
局部坐标的使用_休闲_13            g.Transform 
= mat;
局部坐标的使用_休闲_13            
//将坐标原点移动到屏幕中心
局部坐标的使用_休闲_13
            Rectangle rect= this.ClientRectangle;
局部坐标的使用_休闲_13            
int  w = rect.Width;
局部坐标的使用_休闲_13            
int h= rect.Height;
局部坐标的使用_休闲_13            g.TranslateTransform(w 
/ 2-/ 2);
局部坐标的使用_休闲_13
局部坐标的使用_休闲_13            
//在全局坐标下绘制椭圆
局部坐标的使用_休闲_13
            g.DrawEllipse(Pens.Red, -100-100200200);
局部坐标的使用_休闲_13            g.FillRectangle(Brushes.Black, 
100 - 20 + 244);
局部坐标的使用_休闲_13            g.DrawRectangle(Pens.Blue, 
0 - 2-100 + 244);
局部坐标的使用_休闲_13            g.DrawRectangle(Pens.Blue, 
-100 - 20 + 244);
局部坐标的使用_休闲_13            g.DrawRectangle(Pens.Blue, 
0 - 2100 + 244);
局部坐标的使用_休闲_13
局部坐标的使用_休闲_13            
//创建一个椭圆,然后在局部坐标系中进行几何变换
局部坐标的使用_休闲_13
            GraphicsPath gp=new GraphicsPath();
局部坐标的使用_休闲_13            gp.AddEllipse(
-100-100200200);
局部坐标的使用_休闲_13            Matrix mat2
=new Matrix();
局部坐标的使用_休闲_13            
//平移变换
局部坐标的使用_休闲_13
            mat2.Translate(150150);
局部坐标的使用_休闲_13            
//旋转变换,缺省时按顺时针方向旋转
局部坐标的使用_休闲_13
            mat2.Rotate(30);
局部坐标的使用_休闲_13            gp.Transform(mat2);
局部坐标的使用_休闲_13            g.DrawPath(Pens.Blue, gp);
局部坐标的使用_休闲_13            PointF[] p
= gp.PathPoints;
局部坐标的使用_休闲_13            g.FillRectangle(Brushes.Black, p[
0].X - 2, p[0].Y + 244);
局部坐标的使用_休闲_13            g.DrawRectangle(Pens.Blue, p[
3].X - 2, p[3].Y + 244);
局部坐标的使用_休闲_13            g.DrawRectangle(Pens.Blue, p[
6].X - 2, p[6].Y + 244);
局部坐标的使用_休闲_13            g.DrawRectangle(Pens.Blue, p[
9].X - 2, p[9].Y + 244);
局部坐标的使用_休闲_13            gp.Dispose();
局部坐标的使用_职场_14        }

局部坐标的使用_职场_14    }

局部坐标的使用_职场_128}

局部坐标的使用_局部坐标