c# 如何画出任意角度倾斜的字体
1个回答
推荐于2017-11-25
展开全部
你新建一个窗口应用程序,把下面的代码贴进去,然后弄个按钮,按钮事件里面写 Render(); 运行点按钮看效果吧。 private SolidBrush RndBrush(Color BackColor,Random rnd)
{
int r, g, b;
do
{
r = rnd.Next(255);
} while (Math.Abs(r - BackColor.R) < 50); //这是为了控制颜色不要和背景色太接近
do
{
g = rnd.Next(255);
} while (Math.Abs(g - BackColor.G) < 50);
do
{
b = rnd.Next(255);
} while (Math.Abs(b - BackColor.B) < 50);
return new SolidBrush(Color.FromArgb(255,r,g,b));
}
private void Render(){
Graphics g = this.CreateGraphics(); char[] code = "Page 31.".ToCharArray(); //文字
Font myFont = new Font("宋体", 20);
float angle = 60; //角度
float l=0;
Random rnd = new Random();
g.Clear(this.BackColor);
for (int i = 0; i < code.Length; i++)
{
string s=new string(code[i],1);
g.ResetTransform();
SizeF size = g.MeasureString(s, myFont);
g.TranslateTransform(l + size.Width / 2, size.Height / 2); //设置旋转中心为文字中心
g.RotateTransform((float)(rnd.NextDouble() * angle * 2 - angle)); //旋转
g.DrawString(s, myFont, RndBrush(this.BackColor,rnd), new PointF(-size.Width / 2, -size.Height / 2));
l+=size.Width;
}
}
}
{
int r, g, b;
do
{
r = rnd.Next(255);
} while (Math.Abs(r - BackColor.R) < 50); //这是为了控制颜色不要和背景色太接近
do
{
g = rnd.Next(255);
} while (Math.Abs(g - BackColor.G) < 50);
do
{
b = rnd.Next(255);
} while (Math.Abs(b - BackColor.B) < 50);
return new SolidBrush(Color.FromArgb(255,r,g,b));
}
private void Render(){
Graphics g = this.CreateGraphics(); char[] code = "Page 31.".ToCharArray(); //文字
Font myFont = new Font("宋体", 20);
float angle = 60; //角度
float l=0;
Random rnd = new Random();
g.Clear(this.BackColor);
for (int i = 0; i < code.Length; i++)
{
string s=new string(code[i],1);
g.ResetTransform();
SizeF size = g.MeasureString(s, myFont);
g.TranslateTransform(l + size.Width / 2, size.Height / 2); //设置旋转中心为文字中心
g.RotateTransform((float)(rnd.NextDouble() * angle * 2 - angle)); //旋转
g.DrawString(s, myFont, RndBrush(this.BackColor,rnd), new PointF(-size.Width / 2, -size.Height / 2));
l+=size.Width;
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |