WinForms 使用Graphics绘制字体阴影
2014-08-06 09:38
686 查看
C#以两种方法实现文字阴影效果,同时还实现了简单的动画效果:
一种是对文本使用去锯齿的边缘处理,在两个不同的位置绘制文本,形成阴影;
另一个是以阴影为线条,构造影线画刷,先画背景再画前景,使用graphics.DrawString来绘制文字的阴影。
实现效果如下:
使用Graphics绘制字体阴影
【来自:[LonelyShadow 博客] http://www.cnblogs.com/LonelyShadow】
一种是对文本使用去锯齿的边缘处理,在两个不同的位置绘制文本,形成阴影;
另一个是以阴影为线条,构造影线画刷,先画背景再画前景,使用graphics.DrawString来绘制文字的阴影。
实现效果如下:
using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D; using System.Linq; using System.Windows.Forms; namespace Guying.Project.DrawFontShadow { public partial class FrmMain : Form { public FrmMain() { InitializeComponent(); } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics graphics = e.Graphics; graphics.Clear(Color.White); //对文本使用去锯齿的边缘处理 FontFamily fontFamily = new FontFamily("宋体"); Font font = new Font(fontFamily, 100, FontStyle.Bold, GraphicsUnit.Pixel); //文本输出框 RectangleF textout = new RectangleF(font.Height, this.ClientSize.Height / 2, this.ClientSize.Width, this.ClientSize.Height); //在两个不同的位置绘制文本,形成阴影 //solidBrush的色彩透明度为100,暗黑 SolidBrush solidBrush = new SolidBrush(Color.FromArgb(100, Color.Black)); SolidBrush redBrush = new SolidBrush(Color.Blue); graphics.DrawString("孤影", font, solidBrush, new PointF(27.0f, 27.0f)); graphics.DrawString("孤影", font, redBrush, new PointF(12.0f, 20.0f)); //另一种阴影字,阴影为线条 //构造影线画刷 HatchBrush brush_tmp = new HatchBrush( HatchStyle.DarkDownwardDiagonal, Color.Black, Color.White); int reptime = 40; //先画背景 for (int i = 0; i < reptime; i++) graphics.DrawString("您好", font, brush_tmp, new PointF(textout.X + i + 2, textout.Y + i + 2)); //再画前景 graphics.DrawString("您好", font, Brushes.Blue, new PointF(textout.X, textout.Y)); } }
使用Graphics绘制字体阴影
【来自:[LonelyShadow 博客] http://www.cnblogs.com/LonelyShadow】
相关文章推荐
- WinForms 使用Graphics绘制字体阴影
- 【转】WinForms 使用Graphics绘制字体阴影
- 使用GDI+绘制高质量图和字体
- 使用GDI+绘制高质量图和字体(2)
- XNA 如何使用字体绘制文字,Windows Phone 游戏开发
- iOS开发的2D绘制--CoreGraphics的简单使用三(画文字和图片)
- C#,字体多重阴影的绘制
- 使用GDI+绘制高质量图和字体(2)
- 使用GDI+绘制高质量图和字体
- OpenGL In C# 03 在OpenGL中使用WPF绘制的字体
- (译)Cocos2d_for_iPhone_1_Game_Development_Cookbook:1.14 使用AWTextureFilter实现毛边和字体阴影效果
- iOS开发的2D绘制--CoreGraphics的简单使用一(画线条)
- 使用GDI+绘制高质量图和字体
- 使用FreeType实现矢量字体的粗体、斜体、描边、阴影效果
- [收藏]使用GDI+绘制高质量图和字体
- 使用Quartz绘制带阴影的圆角图
- 使用GDI+绘制高质量图和字体(2)
- HGE使用GDI绘制中文字体
- AS使用Graphics绘制曲线的一个小问题
- 使用Quartz绘制带阴影的圆角图