上海启嘟渡科技商贸有限公司
SEARCH

与我们合作

我们专注提供互联网一站式服务,助力企业品牌宣传多平台多途径导流量。
主营业务:网站建设、移动端微信小程序开发、营销推广、基础网络、品牌形象策划等

您也可通过下列途径与我们取得联系:

微 信: wxyunyingzhe

手 机: 15624122141

邮 箱:

c# 如何画出任意角度倾斜的字体

更新时间:2025-01-10 16:53:09

你新建一个窗口应用程序,把下面的代码贴进去,然后弄个按钮,按钮事件里面写 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;

}

}

}

多重随机标签

猜你喜欢文章

QQ客服 电话咨询