在C#中,使用Graphics.DrawString
方法可以实现文本阴影效果。以下是一个简单的示例,展示了如何使用TextRenderer
类在WinForms应用程序中绘制带有阴影的文本:
using System; using System.Drawing; using System.Windows.Forms; public class TextWithShadow : Form { private string text = "Hello, World!"; private Font font = new Font("Arial", 20); private Color shadowColor = Color.Black; private float shadowOffset = 3; public TextWithShadow() { this.Text = "Text with Shadow"; this.Size = new Size(400, 200); this.StartPosition = FormStartPosition.CenterScreen; } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); // Draw the shadow using (Graphics g = e.Graphics) { g.DrawString(text, font, shadowColor, new PointF(this.Width + shadowOffset, this.Height + shadowOffset)); } // Draw the text using (Graphics g = e.Graphics) { g.DrawString(text, font, Brushes.Black, new PointF(this.Width / 2, this.Height / 2)); } } [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new TextWithShadow()); } }
在这个示例中,我们创建了一个名为TextWithShadow
的WinForms窗体类。我们在OnPaint
方法中绘制了带有阴影的文本。首先,我们使用Graphics.DrawString
方法绘制阴影文本,然后再次使用相同的方法绘制正常文本。阴影文本的偏移量由shadowOffset
变量控制。