在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)

Imports System.Drawing
Imports System.Drawing.Drawing2D
Public Class Form1Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickDim gr As Graphics = PictureBox1.CreateGraphicsDim p As New Pen(Brushes.Red, 2)Dim p1 As New Pen(Brushes.Blue, 2)'(100,300)为原点,右为X,上为Y(红色)gr.TranslateTransform(100, 250)gr.ScaleTransform(1, -1)  '1:1变换X,Y轴p.EndCap = LineCap.ArrowAnchorgr.DrawLine(p, New Point(0, 0), New Point(200, 0))gr.DrawLine(p, New Point(0, 0), New Point(0, 200))gr.DrawString("X轴", Me.Font, Brushes.Red, New Point(200, 0))gr.DrawString("Y轴", Me.Font, Brushes.Red, New Point(0, 200)) '未作处理,目的是看清坐标是怎么变换'在上面的基础上旋转坐标轴(蓝色)gr.RotateTransform(-30)gr.DrawLine(p1, New Point(0, 0), New Point(200, 0))gr.DrawLine(p1, New Point(0, 0), New Point(0, 200))gr.DrawString("X'轴", Me.Font, Brushes.Blue, New Point(200, 0))gr.DrawString("Y'轴", Me.Font, Brushes.Blue, New Point(0, 200))gr.DrawArc(p1, New Rectangle(-75, -75, 150, 150), 120, -30) '注意矩形的位置落区gr.DrawRectangle(p1, New Rectangle(30, 30, 80, 100)) '在最后生效的坐标轴内画矩形'放大或缩小效果gr.ScaleTransform(6, 1) 'X轴方向扩大6倍gr.DrawRectangle(p1, New Rectangle(10, 10, 30, 50))End Sub
End Class

详细查看MSDN:

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

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

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

笔记7:VB.net绘图中坐标轴的变换相关推荐

  1. matlab 次坐标轴 标注,matlab绘图中坐标轴标注设置及图片大小等的设置及输出

    1.图形标题设置.及标题的字号.字体 例如: title(['u=',num2str(u)],'Fontsize',10,'Fontname','Times New Roman'); 2.设置坐标轴字 ...

  2. Qt 学习笔记(5)绘图 五子棋游戏

    在上一篇博客C++ Qt学习笔记(4)绘图中介绍了Qt中的绘图方法,基于上一篇的博客的知识,使用QPainter设计一个五子棋的棋盘,后续会完成五子棋的游戏设计. 1. 棋盘的设计 首先需要绘制棋盘的 ...

  3. 成功解决matplotlib绘图中描述性字体特殊符号(比如数值的右上角标和右下角标表示)

    成功解决matplotlib绘图中描述性字体特殊符号(比如数值的右上角标和右下角标表示) 目录 解决问题 解决思路 解决方法 解决问题 matplotlib绘图中描述性字体特殊符号(比如数值的右上角标 ...

  4. MATLAB学习笔记——二维和三维绘图

    MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...

  5. matlab标题斜体_Matlab绘图中下标、斜体及希腊字母的使用方法

    Matlab绘图中下标.斜体及希腊字母的使用方法 转载自http://blog.sina.com.cn/s/blog_636a8b120100i7dk.html 下面是Matlab官方列出来的Tex代 ...

  6. python绝对方向角度值_哪个选项是turtle绘图中角度坐标系的绝对0度方向?_学小易找答案...

    [判断题]Internet是网络营销产生的概念基础. [单选题]哪个选项是turtle绘图中角度坐标系的绝对0度方向? [多选题]图中力 F 沿直角坐标轴方向 正交分解 , 在( )轴方向有分力. [ ...

  7. VB.NET绘图8---总结

    <VB.NET 绘图基础>吧,因为篇幅实在有点长,计划分成:Graphics章.Pen章.Brush章.Text章.由于涉及到的内容比较多,加之包含比较多的实例代码,所以根据内容的长短把每 ...

  8. matlab 中图的大小_关于matlab绘图中字体及图片大小等的设置

    关于 matlab 绘图中字体及图片大小等的设置 1. 设置坐标轴上下限: axis([xmin,xmax,ymin,ymax]); 2. 设置图片大小: set(gcf,'Position',[x1 ...

  9. matlab绘图修改字体大小,matlab绘图中设置字体及图片大小

    转自:这里 关于matlab绘图中字体及图片大小等的设置 1. 设置坐标轴上下限:axis([xmin,xmax,ymin,ymax]); 2. 设置图片大小:set(gcf,'Position',[ ...

最新文章

  1. 图像分割20年,盘点影响力最大的10篇论文
  2. 美国人到底为什么不待见人脸识别技术?
  3. 桌面虚拟化场景中对存储系统IO性能的评估方法
  4. html5字体颜色自动转换,【转】js里alert里的字体颜色怎么设置:字体颜色方法;fontcolor(color)...
  5. 我的世界boat运行库JAVA10_我的世界boatmod模组大全
  6. PIC单片机入门_PICC头文件介绍
  7. 操作系统:第二章 进程管理1 - 进程、线程
  8. LeetCode 74. 搜索二维矩阵(二分查找)
  9. Linux 启动mysql提示表不存在
  10. 安卓应用安全指南 六、困难问题
  11. python 类函数 实例函数_python_30期【实例函数 类里面的函数】
  12. Oracle REGEXP_SUBSTR 字符串截取函数的使用
  13. 复旦大学肖仰华教授在线授课!从专家系统到知识图谱演进
  14. 新能源汽车行业研究及2020年策略报告:拐点之年
  15. 论用户体验测试:牛逼的功能千篇一律,好的体验万里挑一
  16. 正则化的logistic回归
  17. android 陀螺仪滤波_Savitzky-golay滤波在陀螺仪角加速度测量中的应用
  18. DIY智能小车篇(一):结构模块
  19. 10a大电流稳压芯片_高压dc48v降12v10a大电流降压ic详解
  20. 微信小程序之顶部导航栏(选项卡)实例 —— 微信小程序实战系列(1)

热门文章

  1. 【Android 】零基础到飞升 | 开关按钮ToggleButton和开关Switch
  2. Java第五章课堂总结
  3. 2023年武汉市新能源企业产业奖补申报,奖励补贴政策以及申报条件汇总!
  4. 全球顶尖AI科研团队!上海人工智能实验室2022届校招火热进行中!
  5. (cLion、RubyMine、PyCharm、WebStorm、PhpStorm、Appcode、Clion、Idea) 万能破解,获取自己的注册码
  6. element el-button样式
  7. python+vue 健康体检预约管理系统
  8. android组件的下拉回弹,Android自定义控件仿ios下拉回弹效果
  9. Labview程序内存释放
  10. 爬取豆瓣电影排名代码