笔记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)
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绘图中坐标轴的变换相关推荐
- matlab 次坐标轴 标注,matlab绘图中坐标轴标注设置及图片大小等的设置及输出
1.图形标题设置.及标题的字号.字体 例如: title(['u=',num2str(u)],'Fontsize',10,'Fontname','Times New Roman'); 2.设置坐标轴字 ...
- Qt 学习笔记(5)绘图 五子棋游戏
在上一篇博客C++ Qt学习笔记(4)绘图中介绍了Qt中的绘图方法,基于上一篇的博客的知识,使用QPainter设计一个五子棋的棋盘,后续会完成五子棋的游戏设计. 1. 棋盘的设计 首先需要绘制棋盘的 ...
- 成功解决matplotlib绘图中描述性字体特殊符号(比如数值的右上角标和右下角标表示)
成功解决matplotlib绘图中描述性字体特殊符号(比如数值的右上角标和右下角标表示) 目录 解决问题 解决思路 解决方法 解决问题 matplotlib绘图中描述性字体特殊符号(比如数值的右上角标 ...
- MATLAB学习笔记——二维和三维绘图
MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...
- matlab标题斜体_Matlab绘图中下标、斜体及希腊字母的使用方法
Matlab绘图中下标.斜体及希腊字母的使用方法 转载自http://blog.sina.com.cn/s/blog_636a8b120100i7dk.html 下面是Matlab官方列出来的Tex代 ...
- python绝对方向角度值_哪个选项是turtle绘图中角度坐标系的绝对0度方向?_学小易找答案...
[判断题]Internet是网络营销产生的概念基础. [单选题]哪个选项是turtle绘图中角度坐标系的绝对0度方向? [多选题]图中力 F 沿直角坐标轴方向 正交分解 , 在( )轴方向有分力. [ ...
- VB.NET绘图8---总结
<VB.NET 绘图基础>吧,因为篇幅实在有点长,计划分成:Graphics章.Pen章.Brush章.Text章.由于涉及到的内容比较多,加之包含比较多的实例代码,所以根据内容的长短把每 ...
- matlab 中图的大小_关于matlab绘图中字体及图片大小等的设置
关于 matlab 绘图中字体及图片大小等的设置 1. 设置坐标轴上下限: axis([xmin,xmax,ymin,ymax]); 2. 设置图片大小: set(gcf,'Position',[x1 ...
- matlab绘图修改字体大小,matlab绘图中设置字体及图片大小
转自:这里 关于matlab绘图中字体及图片大小等的设置 1. 设置坐标轴上下限:axis([xmin,xmax,ymin,ymax]); 2. 设置图片大小:set(gcf,'Position',[ ...
最新文章
- 图像分割20年,盘点影响力最大的10篇论文
- 美国人到底为什么不待见人脸识别技术?
- 桌面虚拟化场景中对存储系统IO性能的评估方法
- html5字体颜色自动转换,【转】js里alert里的字体颜色怎么设置:字体颜色方法;fontcolor(color)...
- 我的世界boat运行库JAVA10_我的世界boatmod模组大全
- PIC单片机入门_PICC头文件介绍
- 操作系统:第二章 进程管理1 - 进程、线程
- LeetCode 74. 搜索二维矩阵(二分查找)
- Linux 启动mysql提示表不存在
- 安卓应用安全指南 六、困难问题
- python 类函数 实例函数_python_30期【实例函数 类里面的函数】
- Oracle REGEXP_SUBSTR 字符串截取函数的使用
- 复旦大学肖仰华教授在线授课!从专家系统到知识图谱演进
- 新能源汽车行业研究及2020年策略报告:拐点之年
- 论用户体验测试:牛逼的功能千篇一律,好的体验万里挑一
- 正则化的logistic回归
- android 陀螺仪滤波_Savitzky-golay滤波在陀螺仪角加速度测量中的应用
- DIY智能小车篇(一):结构模块
- 10a大电流稳压芯片_高压dc48v降12v10a大电流降压ic详解
- 微信小程序之顶部导航栏(选项卡)实例 —— 微信小程序实战系列(1)
热门文章
- 【Android 】零基础到飞升 | 开关按钮ToggleButton和开关Switch
- Java第五章课堂总结
- 2023年武汉市新能源企业产业奖补申报,奖励补贴政策以及申报条件汇总!
- 全球顶尖AI科研团队!上海人工智能实验室2022届校招火热进行中!
- (cLion、RubyMine、PyCharm、WebStorm、PhpStorm、Appcode、Clion、Idea) 万能破解,获取自己的注册码
- element el-button样式
- python+vue 健康体检预约管理系统
- android组件的下拉回弹,Android自定义控件仿ios下拉回弹效果
- Labview程序内存释放
- 爬取豆瓣电影排名代码