收藏 分销(赏)

坐标系的变化与图形变换.doc

上传人:pc****0 文档编号:8987124 上传时间:2025-03-10 格式:DOC 页数:4 大小:41.50KB
下载 相关 举报
坐标系的变化与图形变换.doc_第1页
第1页 / 共4页
坐标系的变化与图形变换.doc_第2页
第2页 / 共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:图形的变换 ScaleTransform:指定的缩放操作应用于此 Graphics 的变换矩阵,方法是将该对象的变换矩阵左乘该缩放矩阵 button7_Click:图形的变换 MultiplyTransform:将此 Graphics 的世界变换乘以指定的 Matrix Shear:通过预先计算切变向量将指定的切变向量应用到此 Matrix
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服