using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; public class CaptchaService { public string generatedCaptchaCode; public int wrp = 0; // 生成验证码图像并返回Base64字符串 public (string captchaImage, string captchaCode) GenerateCaptcha() { generatedCaptchaCode = GenerateRandomCode(4); // 生成5位随机字符 wrp = 2; Bitmap bitmap = new Bitmap(100, 40); using (Graphics g = Graphics.FromImage(bitmap)) { g.Clear(Color.White); using (Font font = new Font("Arial", 20)) { g.DrawString(generatedCaptchaCode, font, Brushes.Black, 10, 10); } } wrp = 1; using (MemoryStream ms = new MemoryStream()) { bitmap.Save(ms, ImageFormat.Png); string base64Image = Convert.ToBase64String(ms.ToArray()); return (base64Image, generatedCaptchaCode); } } // 生成随机字符 private string GenerateRandomCode(int length) { const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ012345689"; Random random = new Random(); return new string(Enumerable.Repeat(chars, length) .Select(s => s[random.Next(s.Length)]).ToArray()); } }