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