问题
我正在处理一个以不同垂直和水平分辨率扫描图像的系统。分辨率范围从 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 方法,得到了相同的结果。
谢谢,