FontMenuForm 基类见:http://blog.youkuaiyun.com/u013384702/article/details/17884617
Code:(字尾有部分重叠)
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
namespace CsStudy
{
class ReflectedText : FontMenuForm
{
public new static void Main()
{
Application.Run(new ReflectedText());
}
public ReflectedText()
{
Text = "Reflected Text";
Width *= 2;
strText = "猪爷爷";
font = new Font("Times New Roman", 60);
}
protected override void DoPage(Graphics grph, Color clr, int cx, int cy)
{
Brush brush = new SolidBrush(clr);
float fAscent = GetAscent(grph, font);
StringFormat strfmt = StringFormat.GenericTypographic;
//画一条水平线
grph.DrawLine(Pens.Black, new PointF(0, cy / 2), new PointF(ClientSize.Width, cy / 2));
grph.TranslateTransform(cx / 2, cy / 2);
for (int i = 0; i < 4; i++)
{
GraphicsState grphstat = grph.Save();
grph.ScaleTransform((i > 1 ? -1 : 1), (i & 1) == 1 ? -1 : 1);//上下、左右显示
grph.DrawString(strText, font, brush, 0, -fAscent, strfmt);
grph.Restore(grphstat);
}
}
}
}
效果图: