The method ESRI.ArcGIS.ADF.Web.Display.Symbol.TextMarkerSymbol::GetDimensions returns wrong values of width and height.
上次发布: August 25, 2014No Product Found
漏洞 ID 编号
NIM012109
已提交
October 3, 2007
上次修改时间
June 5, 2024
适用范围
No Product Found
找到的版本
9.2
状态
Will Not Be Addressed
开发团队已考虑过该问题或请求,并决定不会解决该问题。 问题的“其他信息”部分可能包含进一步说明。
附加信息
No Public Explanation
解决办法
The font size is in point unit, which varies according to different font. For example, for font "Arial", the size 20 means 31 pt height; and for the font "Snap ITC", the same size means 35 pt height.Another thing needs to notice is that the formula to convert point unit into pixel unit, 1 pt = 1 px * 1.333.We could get the text string width and height in a specific font through GDI+ directly. Please see code below: //get the text string width and height through GDI+ directly without touching ESRI class System.Drawing.Font font = new System.Drawing.Font("Snap ITC", 20); Bitmap image = new Bitmap(1, 1); Graphics g = Graphics.FromImage(image); double width = g.MeasureString("Hello World!", font).Width; double height = g.MeasureString("Hello World!", font).Height; int widthInt = Convert.ToInt16(width/1.333); int heightInt = Convert.ToInt16(height/1.333);