C#Graphics.PageScale无法放大字体
时间: 2024-01-18 09:02:01 浏览: 21
C是一种编程语言,也是一种计算机科学中的基础概念。C语言被广泛用于操作系统、编译器和网络协议等领域。C语言的设计简洁高效,容易掌握,因此被广泛认为是学习其他高级语言的基础。C语言的特点包括可移植性、高效性和灵活性等。C语言有许多流行的编译器和开发工具,如GCC、Visual Studio、Code::Blocks等。
相关问题
c# 存储到graphics的点的坐标和实际坐标的比例
在C#中,存储到`graphics`的点的坐标和实际坐标的比例由`Graphics.PageUnit`属性决定。默认情况下,`Graphics.PageUnit`属性的值为`Display`,表示在屏幕上显示时,以像素为单位。如果你想要使用实际坐标,可以将`Graphics.PageUnit`属性的值设置为`Inch`、`Millimeter`等,然后通过`Graphics.DpiX`和`Graphics.DpiY`属性获取分辨率,从而计算出实际坐标和存储到`graphics`的点的坐标之间的比例。例如:
```csharp
// 创建一个Graphics对象
Graphics g = this.CreateGraphics();
// 设置Graphics的PageUnit为Inch
g.PageUnit = GraphicsUnit.Inch;
// 获取分辨率
float dpiX = g.DpiX;
float dpiY = g.DpiY;
// 计算比例
float scaleX = dpiX / g.PageScale;
float scaleY = dpiY / g.PageScale;
// 存储一个实际坐标为(1, 1)的点到graphics中
g.DrawRectangle(Pens.Black, 1 * scaleX, 1 * scaleY, 0.1f * scaleX, 0.1f * scaleY);
// 释放Graphics对象
g.Dispose();
```
上面的代码中,我们将`Graphics.PageUnit`属性设置为`Inch`,然后通过`Graphics.DpiX`和`Graphics.DpiY`属性获取分辨率,最后计算出比例并存储一个实际坐标为(1, 1)的点到`graphics`中。在这个例子中,我们假设分辨率为96dpi,所以计算出的比例为1英寸=96个点。