首页 / C# / C# 实现 光晕文字 发光文字
C# 实现 光晕文字 发光文字
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# 实现 光晕文字 发光文字,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1689字,纯文字阅读大概需要3分钟。
内容图文
![C# 实现 光晕文字 发光文字](/upload/InfoBanner/zyjiaocheng/1194/5a215e0854f044b5834140de288b8ffc.jpg)
有时候想要把字体整得好看一点,但是不不想去下载素材,那么怎么办呢?我有一段时间就特别想把标题整得花里胡哨的,做成一个标题控件造轮子。好了话不多少,先看效果:
给了效果图,说一下原理吧,如果我们把文字向各个方向多绘制几次,那么文字是不是会变粗呢?大家明显可以想象得到效果,仅仅变粗的文字肯定是不美观的。
我们方式座做一些改变,绘制的时候加上Alpha分量,每次向外绘制的时候,就增加一下透明度。假如我们要绘制的光晕是黑色,效果如下图:
显而易见,出现了朦胧的感觉,如果我们在绘制的起始点,也就是中心,绘制一下其它颜色,比如黄色,看一下效果会怎样呢?
是不是效果就好看多了呢。不多说了,最后上代码:(注意,我这里为了演示,就没有写得特别复杂,也没有做成控件,写在OnPaint里面的哈)
![技术分享图片](/img/jia.gif)
![技术分享图片](/img/jian.gif)
1 protected override void OnPaint(PaintEventArgs e) 2 { 3 base .OnPaint(e); 4 Color shadowColor = Color.Black;//光晕的颜色 5int shadowWidth = 6;//光晕的宽度 6string text = "最美的文字是汉字";//文本 7 Font font = new Font("华文行楷",18);//字体 8 Graphics g = e.Graphics;//画板 9 SizeF size = g.MeasureString(text, font); 10 PointF point = new PointF(this.ClientSize.Width / 2 - size.Width / 2, this.ClientSize.Height / 2 - size.Height / 2); 11for (int i = 0; i < shadowWidth; i++) 12 { 13for (int j = 0; j < shadowWidth; j++) 14 { 15 g.DrawString(text, font, new SolidBrush(Color.FromArgb(255 / 5 / (i + 1), shadowColor)), new PointF(point.X + i, point.Y + j)); 16 } 17for (int j = 0; j < shadowWidth; j++) 18 { 19 g.DrawString(text, font, new SolidBrush(Color.FromArgb(255 / 5 / (i + 1), shadowColor)), new PointF(point.X - i, point.Y - j)); 20 } 21 } 22for (int i = 0; i < shadowWidth; i++) 23 { 24 g.DrawString(text, font, new SolidBrush(Color.FromArgb(255 / 3 / (i + 1), shadowColor)), new PointF(point.X - i, point.Y + i)); 25 } 26for (int i = 0; i < shadowWidth; i++) 27 { 28 g.DrawString(text, font, new SolidBrush(Color.FromArgb(255 / 3 / (i + 1), shadowColor)), new PointF(point.X + i, point.Y - i)); 29 } 30 g.DrawString(text, font,Brushes.Yellow, point);//本身的颜色31 }
原文:https://www.cnblogs.com/nickyangmiracle/p/12489994.html
内容总结
以上是互联网集市为您收集整理的C# 实现 光晕文字 发光文字全部内容,希望文章能够帮你解决C# 实现 光晕文字 发光文字所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。