我有一个用 C# 编写的 dll。其中一种方法需要一个参数string txt
。dll 是从经典的 asp 页面调用的。在呼叫时,文本中包含通过在数字键盘上é
按住ALT并输入 130 或按住ALT-GR并点击获得的字符e。
DrawString方法输出错误。我意识到存在字符集/字体问题,但我不知道如何解决这个问题。
我在英式键盘和使用 Arial 字体的本地化中得到的是一个大写字母 A,上面有一个波浪号,后面是一个圆圈中的小写字母 c。
输入文本的个人可能使用任何键盘布局,可能在他们的 PC 上进行任何本地化,但他们都将通过我们的网页输入。
我需要做什么才能使事情兼容或转换?
相关的代码是:
Bitmap image = new Bitmap(strFilePath);
Graphics m_graphics;
m_graphics = Graphics.FromImage(image);
Font fnt = new Font("Arial", 12.0f);
StringFormat strFormatter = new StringFormat();
SolidBrush txtBrush = new SolidBrush(Color.FromArgb(127, Color.FromArgb(int.Parse("AB12CD", NumberStyles.HexNumber))));
m_graphics.DrawString("é", fnt, txtBrush, new Point(200, 200), strFormatter);