Graphics 和 Matrix 使用注意

发布时间:2020-07-15 19:36:03 作者:VOLVO之悦
来源:网络 阅读:514

Graphics 可以进行画图,Matrix 可以对画布内容进行变换

Font font = new Font("宋体", 1F);
//检测字符串大小
SizeF sizeF = CreateGraphics().MeasureString("abc", font);
//displayWidth为实际显示宽度,通过此方式将字体变大
float disX =(float)(displayWidth / sizeF.Width);
float disY = (float)(displayHeight / sizeF.Height);
 
Matrix matrix = new Matrix();
//对画布内容进行放大
matrix.Scale(disX, disY);
//这里用在panel上生成一个画布
Graphics g = this.drawingPanel.CreateGraphics();
g.Transform = matrix;
//这里是画布的显示位置,这里注意x,y的位置是相对于panel左上角的,且注意在进行Matrix 变换后,
//1像素的单位已经放大为disX,所以这里要除以 disX 求得实际像素距离
float x = (float)locationX / disX;
float y = (float)locationY / disY;
//
g.DrawString("abc", font, color, new RectangleF(x, y, (float)displayWidth, (float)displayHeight));


推荐阅读:
  1. A Crash Course in 3D Graphics Math(令人吐血的3D图形学里的数学)
  2. Chapter 4. Math for 3D Graphics(3D图形中的数学)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

graphics matrix 使用注意

上一篇:ASP.NET Core实现类库项目读取配置文件

下一篇:Windows Server 2012 R2 文件服务器配置共享

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》