Graphics 可以进行画图,Matrix 可以对画布内容进行变换
东台网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
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));