打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
笔记7:VB.net绘图中坐标轴的变换



在GDI+绘图中,如何改变坐标轴的原点及X轴和Y轴的方向呢?


VB.net提供了三个常用的变换方法:


1、改变原坐标系中的原点位置:        gr.TranslateTransform(100, 250)  


2、改变原坐标系中的XY轴方向:        gr.ScaleTransform(1, -1)   '1:1变换X,Y轴

                                                                    参数可针对X轴和Y轴进行放大或缩小处理。


3、旋转原坐标系的角度:        gr.RotateTransform(-30)




  1. Imports System.Drawing  
  2. Imports System.Drawing.Drawing2D  
  3. Public Class Form1  
  4.   
  5.     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click  
  6.         Dim gr As Graphics = PictureBox1.CreateGraphics  
  7.         Dim p As New Pen(Brushes.Red, 2)  
  8.         Dim p1 As New Pen(Brushes.Blue, 2)  
  9.   
  10.         '(100,300)为原点,右为X,上为Y(红色)  
  11.         gr.TranslateTransform(100, 250)  
  12.         gr.ScaleTransform(1, -1)  '1:1变换X,Y轴  
  13.   
  14.         p.EndCap = LineCap.ArrowAnchor  
  15.         gr.DrawLine(p, New Point(0, 0), New Point(200, 0))  
  16.         gr.DrawLine(p, New Point(0, 0), New Point(0, 200))  
  17.         gr.DrawString("X轴", Me.Font, Brushes.Red, New Point(200, 0))  
  18.         gr.DrawString("Y轴", Me.Font, Brushes.Red, New Point(0, 200)) '未作处理,目的是看清坐标是怎么变换  
  19.   
  20.         '在上面的基础上旋转坐标轴(蓝色)  
  21.         gr.RotateTransform(-30)  
  22.   
  23.         gr.DrawLine(p1, New Point(0, 0), New Point(200, 0))  
  24.         gr.DrawLine(p1, New Point(0, 0), New Point(0, 200))  
  25.         gr.DrawString("X'轴", Me.Font, Brushes.Blue, New Point(200, 0))  
  26.         gr.DrawString("Y'轴", Me.Font, Brushes.Blue, New Point(0, 200))  
  27.   
  28.         gr.DrawArc(p1, New Rectangle(-75, -75, 150, 150), 120, -30) '注意矩形的位置落区  
  29.         gr.DrawRectangle(p1, New Rectangle(30, 30, 80, 100)) '在最后生效的坐标轴内画矩形  
  30.   
  31.         '放大或缩小效果  
  32.         gr.ScaleTransform(6, 1) 'X轴方向扩大6倍  
  33.         gr.DrawRectangle(p1, New Rectangle(10, 10, 30, 50))  
  34.     End Sub  
  35. End Class  




详细查看MSDN:

Graphics.TranslateTransform 方法
通过使此 Graphics 的变换矩阵左乘指定的平移来更改坐标系统的原点。


Graphics.ScaleTransform 方法
将指定的缩放操作应用于此 Graphics 的变换矩阵,方法是将该对象的变换矩阵左乘该缩放矩阵。


Graphics.RotateTransform 方法
将指定旋转应用于此 Graphics 的变换矩阵。




本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
平面四参数转换图文教程!
使用vb.net绘制简单的饼图,柱状图,折线图
c#画图
C#打印操作——打印设置、打印预览及打
C#多功能DataGridView打印类(WinForm)
c#绘制坐标系
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服