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));
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。