首页 > 其他 > 详细

Graphics 和 Matrix 使用注意

时间:2017-06-20 13:25:52      阅读:331      评论:0      收藏:0      [点我收藏+]

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


Graphics 和 Matrix 使用注意

原文:http://volvo9yue.blog.51cto.com/12265053/1940064

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!