坐标系的变化与图形变换.doc_第1页
坐标系的变化与图形变换.doc_第2页
坐标系的变化与图形变换.doc_第3页
坐标系的变化与图形变换.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

坐标系的变化与图形变换private void Form1_Paint(object sender, PaintEventArgs e) Graphics g = e.Graphics; g.FillRectangle(Brushes.White, this.ClientRectangle); g.DrawRectangle(Pens.Black, 10, 10, 50, 50); g.DrawEllipse(Pens.Black,10,10,10,10); g.ScaleTransform(2.0f, 3.0f); g.DrawRectangle(Pens.Black, 10, 10, 50, 50); g.DrawEllipse(Pens.Black, 10, 10, 10, 10); g.ScaleTransform(0.5f, 0.3333333f); g.DrawRectangle(Pens.Red, 20, 30, 100, 150); g.DrawEllipse(Pens.Red, 20, 30, 20, 30); private void button1_Click(object sender, EventArgs e) Graphics g = this.CreateGraphics(); g.FillRectangle(Brushes.White, this.ClientRectangle); Font f = new Font(Times New Roman, 24); g.DrawString(Traslation,f,Brushes.Black,0,0); g.TranslateTransform(150, 75); g.DrawString(Traslation, f, Brushes.Black, 0, 0); private void button2_Click(object sender, EventArgs e) Graphics g = this.CreateGraphics(); g.FillRectangle(Brushes.White, this.ClientRectangle); for (int i = 1; i = 5; +i) g.DrawRectangle(Pens.Black, 10, 10, 30, 50); g.TranslateTransform(2, 10); private void button3_Click(object sender, EventArgs e) Graphics g = this.CreateGraphics(); g.FillRectangle(Brushes.White, this.ClientRectangle); g.DrawEllipse(Pens.Black, 20, 20, 30, 50); g.TranslateTransform(-15, 0); g.DrawEllipse(Pens.Black, 20, 20, 30, 50); g.ResetTransform(); g.TranslateTransform(0, 30); g.DrawEllipse(Pens.Black, 20, 20, 30, 50); private void button4_Click(object sender, EventArgs e) Graphics g = this.CreateGraphics(); g.FillRectangle(Brushes.White, this.ClientRectangle); Font f = new Font(Times New Roman, 24); g.DrawString(Rotation, f, Brushes.Black, 0, 0); g.RotateTransform(45); g.TranslateTransform(100, 10); g.DrawString(Rotation, f, Brushes.Black, 0, 0); private void button5_Click(object sender, EventArgs e) Graphics g = this.CreateGraphics(); g.FillRectangle(Brushes.White, this.ClientRectangle); Font f = new Font(Times New Roman, 16); for (float angle = 0; angle 360; angle += 45) g.ResetTransform(); g.TranslateTransform(ClientRectangle.Width / 2, ClientRectangle.Height / 2); g.RotateTransform(angle); g.DrawString(Hello World, f, Brushes.Red, 50, 0); private void button6_Click(object sender, EventArgs e) Graphics g = this.CreateGraphics(); g.FillRectangle(Brushes.White, this.ClientRectangle); Font f = new Font(Times New Roman, 24); g.TranslateTransform(175, 50); g.DrawString(BOBUI.DH, f, Brushes.Black, 0, 0); g.ScaleTransform(-1, 1); g.DrawString(BOBUI.DH, f, Brushes.Black, 0, 0); private void button7_Click(object sender, EventArgs e) Graphics g = this.CreateGraphics(); g.FillRectangle(Brushes.White, this.ClientRectangle); Matrix m = new Matrix(); m.Shear(0.6f, 0); g.DrawRectangle(Pens.Black, 10, 10, 50, 50); g.MultiplyTransform(m); g.DrawRectangle(Pens.Black, 70, 10, 50, 50); Form1_Paint:这里里面实现了一个图形的放缩ScaleTransform:将指定的缩放操作应用于此 Graphics 的变换矩阵,方法是将该对象的变换矩阵左乘该缩放矩阵button1_Click:坐标系平移实现图像位置的变化TranslateTransform:通过使此 Graphics 的变换矩阵左乘指定的平移来更改坐标系统的原点。button2_Click:坐标原点的变换,这个例子说明TranslateTransform变换坐标是连续的button3_Click:还原系统原点ResetTransform:将此 Graphics 的世界变换矩阵重置为单位矩阵button4_Click:图像的旋转RotateTransform:指定旋转应用于此 Graphics 的变换矩阵button5_Click:坐标系变换与旋转综合示例button6_Click:图形

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论