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() { string wp = "123"; try { System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true); string generatedCaptchaCode = GenerateRandomCode(4); // 生成4位随机字符 Bitmap bitmap = new Bitmap(100, 40); wp = "122"; 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); } } wp = "233"; using (MemoryStream ms = new MemoryStream()) { bitmap.Save(ms, ImageFormat.Png); string base64Image = Convert.ToBase64String(ms.ToArray()); return (base64Image, generatedCaptchaCode); } } catch (Exception ex) { Console.WriteLine($"Error generating captcha: {ex.Message}"); return (ex.Message, wp); } } // 生成随机字符 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()); } }