#region 验证码api [HttpGet] [System.Web.Http.Route("api/Login/Generate")] public async Task <IHttpActionResult> Generate() { verifcode = GenerateVerificationCode(); Bitmap bitmap = GenerateImage(verifcode); MemoryStream memoryStream = new MemoryStream(); bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png); byte[] imageBytes = memoryStream.ToArray(); return Json(new { ret = 200, success = true, image = imageBytes,message="aa",data=verifcode }); } private string GenerateVerificationCode() { // 生成随机验证码,可以根据您的需求自定义生成规则 Random random = new Random(); string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";//验证码随机出现的值 可自己设定 int length = 6; // 验证码长度,可以根据您的需求进行调整 StringBuilder sb = new StringBuilder(); for (int i = 0; i < length; i++) { int index = random.Next(chars.Length); sb.Append(chars[index]); } return sb.ToString(); } private Bitmap GenerateImage(string code) { // 生成验证码图片,可以根据您的需求自定义生成规则 int width = 150; // 图片宽度,可以根据您的需求进行调整 int height = 30; // 图片高度,可以根据您的需求进行调整 Bitmap bitmap = new Bitmap(width, height); using (Graphics graphics = Graphics.FromImage(bitmap)) { graphics.SmoothingMode = SmoothingMode.AntiAlias; graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; //字体样式 字体大小 字体颜色 graphics.DrawString(code, new Font("Arial", 20, FontStyle.Regular),Brushes.SkyBlue, new Rectangle(0, 0, width, height));//Brushes.BurlyWood } return bitmap; }
接口返回的base64格式展示:
前端效果展示: