2

问题
我正在处理一个以不同垂直和水平分辨率扫描图像的系统。分辨率范围从 96dpi 到 300dpi。

我的用户需要能够在这些图像上绘制文本。使用 GDI+ 可以很容易地在图像上绘制文本。

问题
我难以理解的是,用户如何在图像上绘制文本并且绘制的文本看起来相同大小,而不管图像的垂直和水平分辨率如何。

我现在看到的是,如果我使用 28pt arial 字体在 96ppi 图像上绘制文本,那么如果我使用 28pt arial 字体在 300ppi 图像上绘制文本,那么文本会更小。

在将文本绘制到图像上时,如何考虑图像分辨率以缩放字体大小?

我正在使用 TextRenderer 类进行绘图。

TextRenderer.DrawText(graphics, this.txtComments.Text, font, startPoint, Color.Black);

更新#1

这是我用来初始化字体的代码

System.Drawing.Font font = new System.Drawing.Font("Comic Sans MS", 28, FontStyle.Bold,  GraphicsUnit.Point)

我尝试过使用 GraphicsUnit.Pixel 和 GraphicsUnit.Point,两者都对我没有任何影响。

更新#2

我尝试使用 Graphics.DrawString 方法,得到了相同的结果。

谢谢,

4

0 回答 0