温馨提示×

温馨提示×

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

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

Graphics 和 Matrix 使用注意

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

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


向AI问一下细节

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

AI