本文介绍了如何在GDI +旋转文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要显示在一个特定的角度给出一个字符串。我试图与 System.Drawing.Font 类做到这一点。这里是我的code:

字体粗体字=新的字体(FontFamily.GenericSansSerif,12,FontStyle.Bold,GraphicsUnit.Pixel,1,TRUE);结果
graphics.DrawString(测试,粗体字,textBrush,0,0);

谁能帮我?


解决方案

 字符串theString =45度旋转文本;
SZ的SizeF = e.Graphics.VisibleClipBounds.Size;
//偏移坐标系统,使点(0,0)是在
所需的区域的中心。
e.Graphics.TranslateTransform(sz.Width / 2,sz.Height / 2);
//旋转图形对象。
e.Graphics.RotateTransform(45);
SZ = e.Graphics.MeasureString(theString,this.Font);
//偏移索绳方法使得弦的中心的中心相匹配。
e.Graphics.DrawString(theString,this.Font,Brushes.Black, - (sz.Width / 2) - , - (sz.Height / 2));
//重置图形对象变换。
e.Graphics.ResetTransform();

从 href=\"http://www.eggheadcafe.com/software/aspnet/32846836/rotation-of-text.aspx\">这里。

I want to display an given string in a specific angle. I tried to to do this with the System.Drawing.Font class. Here is my code:

Font boldFont = new Font(FontFamily.GenericSansSerif, 12, FontStyle.Bold, GraphicsUnit.Pixel, 1, true);
graphics.DrawString("test", boldFont, textBrush, 0, 0);

Can anyone help me?

解决方案
String theString = "45 Degree Rotated Text";
SizeF sz = e.Graphics.VisibleClipBounds.Size;
//Offset the coordinate system so that point (0, 0) is at the
center of the desired area.
e.Graphics.TranslateTransform(sz.Width / 2, sz.Height / 2);
//Rotate the Graphics object.
e.Graphics.RotateTransform(45);
sz = e.Graphics.MeasureString(theString, this.Font);
//Offset the Drawstring method so that the center of the string matches the center.
e.Graphics.DrawString(theString, this.Font, Brushes.Black, -(sz.Width/2), -(sz.Height/2));
//Reset the graphics object Transformations.
e.Graphics.ResetTransform();

Taken from here.

这篇关于如何在GDI +旋转文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-28 19:14