asp.net C#中使用DrawString绘制文本时怎样使文本居中或右对齐

asp.netC#中使用DrawString绘制文本时怎样使文本居中或右对string_FontName="UKKTZA1";int_FontSize=30;string... asp.net C#中使用DrawString绘制文本时怎样使文本居中或右对 string _FontName = "UKK TZA1"; int _FontSize = 30; string txt = TextBox1.Text; txt = HtmlCode(TextBox1.Text); string _ShowName = txt; Bitmap objBitmap = null; Graphics g = null; Font stringFont = new Font(_FontName, _FontSize, FontStyle.Bold); try { StringFormat format = new StringFormat(StringFormatFlags.DirectionRightToLeft); objBitmap = new Bitmap(1, 1); g = Graphics.FromImage(objBitmap); SizeF stringSize = g.MeasureString(_ShowName, stringFont, 500, format); int nWidth = (int)stringSize.Width; int nHeight = (int)stringSize.Height; g.Dispose(); objBitmap.Dispose(); objBitmap = new Bitmap(nWidth, nHeight); g = Graphics.FromImage(objBitmap); g.FillRectangle(new SolidBrush(Color.LightSkyBlue), new Rectangle(0, 0, nWidth, nHeight)); g.TextRenderingHint = TextRenderingHint.AntiAlias; g.DrawString(_ShowName, stringFont, new SolidBrush(Color.Black), new PointF(0, 0), format); objBitmap.Save(@"d:\test.gif", ImageFormat.Gif); } catch (Exception ee) { Response.Write(ee.ToString()); } finally { if (null != g) g.Dispose(); if (null != objBitmap) objBitmap.Dispose(); Response.End(); }这是我的代码,正常运行,但结果绘出来的文字总是 左对齐,有什么办法使文字右对齐或居中? 展开
 我来答
百度网友0951d78
推荐于2016-07-08 · TA获得超过1451个赞
知道小有建树答主
回答量:1727
采纳率:0%
帮助的人:1268万
展开全部
你的代码看著很累

自己算下起点,用 图片宽度-“文字长度” 作为X座标的起点,
用 (图片高度-“文字长度”)/2 作为X座标的起点,
,不要用下面的 new PointF(0, 0),
g.DrawString(_ShowName, stringFont, new SolidBrush(Color.Black), new PointF(0, 0), format);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式