public ActionResult CreateQrCode() { string host = Request.Url.Host; var port = Request.Url.Port; string str = "http://" + host + ":" + port + "/Home/Detail?id=100"; using (var memoryStream = QRCodeHelper.GetQRCode(str, 10)) { /*Response.ContentType = "image/jpeg"; * Response.OutputStream.Write(memoryStream.GetBuffer(), 0, (int)memoryStream.Length); * Response.End();*/ Image img = Image.FromStream(memoryStream); //Graphics graphics = Graphics.FromImage(img); string savePath = "C:/Users/11619/Desktop/dsds/123.png"; img.Save(savePath, ImageFormat.Png); AddTextToImg("C:/Users/11619/Desktop/dsds/123.png", "鼓风机房配电柜", "yehongjiang"); img.Dispose(); img = Image.FromFile("C:/Users/11619/Desktop/dsds/567.png"); //下面这段是将image转换为流从而输出到页面的img标签上去 MemoryStream ms = new MemoryStream(); byte[] imagedata = null; img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); imagedata = ms.GetBuffer(); Response.ContentType = "image/jpeg"; Response.OutputStream.Write(ms.GetBuffer(), 0, (int)ms.Length); Response.End(); } return(null); }
public void CreateQrCode() { string host = Request.Url.Host; var port = Request.Url.Port; string str = "http://" + host + ":" + port + "/Chemical/ShowChemicalDevice?id=" + Request.Form["qrcode"]; SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["SewagePlantIMS"].ConnectionString); con.Open(); string sqlStr = "select cd_name from dm_chemical_device where id = " + Request.Form["qrcode"] + ";"; SqlCommand cmd = new SqlCommand(sqlStr, con); string cd_name = cmd.ExecuteScalar().ToString(); con.Close(); using (var memoryStream = QRCodeHelper.GetQRCode(str, 10)) { System.Drawing.Image img = Image.FromStream(memoryStream); img = QRCodeHelper.AddTextToImg(img, cd_name, cd_name); System.IO.MemoryStream ms = new System.IO.MemoryStream(); img.Save(ms, System.Drawing.Imaging.ImageFormat.Png); Response.ContentType = "application/octet-stream"; //文件名+文件格式 (这里编码采用的是utf-8) Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(cd_name + ".png", System.Text.Encoding.UTF8)); Response.BinaryWrite(ms.ToArray()); ms.Dispose(); img.Dispose(); } }
public void can_render_qrcode_from_helper() { //Create QR code var bmp = QRCodeHelper.GetQRCode("This is a quick test! 123#?", 10, Color.Black, Color.White, QRCodeGenerator.ECCLevel.H); var result = HelperFunctions.BitmapToHash(bmp); result.ShouldBe("e8c61b8f0455924fe08ba68686d0d296"); }
public ActionResult GetQRCodeImage() { GetQRCodeImageArgs args = RequestArgs <GetQRCodeImageArgs>(); GetQRCodeImageResult result = new GetQRCodeImageResult(); if (args == null || String.IsNullOrEmpty(args.Content)) { result.Message = "参数无效。"; return(new ContentResult() { Content = JsonConvert.SerializeObject(result) }); } Image qrImage = null; try { qrImage = QRCodeHelper.GetQRCode(args.Content); if (qrImage == null) { result.Message = "二维码生成失败。"; return(new ContentResult() { Content = JsonConvert.SerializeObject(result) }); } string targetDir = Path.Combine(Server.MapPath("/"), "FileStore", args.Domain.ToString()); string storeFileName = Guid.NewGuid().ToString() + ".jpg"; string outputFileName = Path.Combine(targetDir, storeFileName); qrImage.Save(outputFileName, ImageFormat.Jpeg); result.Success = true; result.FileName = String.Format("FileStore/{0}/{1}", args.Domain, storeFileName); } catch (Exception ex) { result.Message = ex.Message; } finally { if (qrImage != null) { qrImage.Dispose(); } } return(new ContentResult() { Content = JsonConvert.SerializeObject(result) }); }
public ActionResult CreateQrCode(int courseId) { var url = webHost + "/Wap/Member/CheckIn?CourseId=" + courseId.ToString(); using (var memoryStream = QRCodeHelper.GetQRCode(url, 9)) { Response.ContentType = "image/jpeg"; Response.OutputStream.Write(memoryStream.GetBuffer(), 0, (int)memoryStream.Length); Response.End(); } return(null); }
public ActionResult InviteQrCode(int uid = 0) { var url = string.Format("http://" + Request.Url.Host + "/login/reg?uid=" + uid); using (var ms = new MemoryStream()) { QRCodeHelper.GetQRCode(url, ms); Response.ContentType = "image/Png"; Response.OutputStream.Write(ms.GetBuffer(), 0, (int)ms.Length); Response.End(); return(null); } }
public async Task GetQRCode() { Response.ContentType = "image/jpeg"; string qrToken = await SecurityServices.GetQRToken(); var bitmap = QRCodeHelper.GetQRCode($"{domain}/Security/Login?token={qrToken}", 4); // 将二维码回调标识输出给cookie // 创建cookie Response.Cookies.Append(QRTOKEN_COOKIE_NAME, qrToken); bitmap.Save(Response.Body, ImageFormat.Jpeg); }
public void showQRCode(int Index, Config config) { if (Index >= 0) { string url = ShareHandler.GetShareUrl(config, Index); if (Utils.IsNullOrEmpty(url)) { picQRCode.Image = null; txtUrl.Text = string.Empty; return; } txtUrl.Text = url; picQRCode.Image = QRCodeHelper.GetQRCode(url); } }
public void showQRCode(VmessItem item) { if (item != null) { string url = ShareHandler.GetShareUrl(item); if (Utils.IsNullOrEmpty(url)) { picQRCode.Image = null; txtUrl.Text = string.Empty; return; } txtUrl.Text = url; picQRCode.Image = QRCodeHelper.GetQRCode(url); } }
public void showQRCode(int Index, Config config) { if (Index >= 0) { string url = ConfigHandler.GetVmessQRCode(config, Index); if (string.IsNullOrEmpty(url)) { picQRCode.Image = null; txtUrl.Text = string.Empty; return; } picQRCode.Image = QRCodeHelper.GetQRCode(url); txtUrl.Text = url; } }
public void GenereateQRCode(string customer) { var message = $"{Name} {customer}".Truncate(50); var storeSetup = ExecuteSync(_ => _.GetStoreSetup(StoreId)); var text = $"C{storeSetup.PayoutSwishNumber};{Orders.Sum(_=>_.Price).ToString("0.00").Replace(",",".")};{message};0"; if (!string.IsNullOrEmpty(text)) { using var ms = new MemoryStream(); using var bitmap = QRCodeHelper.GetQRCode(text, 20, Color.Black, Color.White, QRCodeGenerator.ECCLevel.H); bitmap.Save(ms, ImageFormat.Png); QRCodeStr = $"data:image/png;base64,{Convert.ToBase64String(ms.ToArray())}"; } StateHasChanged(); }
private void QRCodeForm_Shown(object sender, EventArgs e) { if (Index >= 0) { VmessQRCode vmessQRCode = null; if (ConfigHandler.GetVmessQRCode(config, Index, ref vmessQRCode) != 0) { return; } string url = Utils.ToJson(vmessQRCode); url = Utils.Base64Encode(url); url = string.Format("{0}{1}", Global.vmessProtocol, url); picQRCode.Image = QRCodeHelper.GetQRCode(url); txtUrl.Text = url; } }
private void btnShare_Click(object sender, EventArgs e) { if (this.Height <= grbMain.Height) { if (Utils.IsNullOrEmpty(subItem.url)) { picQRCode.Image = null; return; } picQRCode.Image = QRCodeHelper.GetQRCode(subItem.url); this.Height = grbMain.Height + 200; } else { this.Height = grbMain.Height; } }
private void _stateTimer_Tick(object sender, EventArgs e) { _loginAttempt++; StaticFileLogger.Current.LogEvent(GetType().Name + $"._stateTimer_Tick(), _loginAttempt={_loginAttempt}", "Look for QR code", "", EventLogEntryType.Information); string text = null; using (Bitmap bitmap = (Bitmap)ScreenCaptureTool.CaptureScreenNew()) { text = QRCodeHelper.GetQRCode(bitmap); if (!IsValidStudentIdFormat(text)) { string description = Convert.ToBase64String(ScreenCaptureTool.ImageToByteArray(bitmap, 75)); StaticFileLogger.Current.LogEvent(GetType().Name + "._stateTimer_Tick()", "No QR code found. Screenshot encoded in BASE64:", description, EventLogEntryType.Information); } else { StaticFileLogger.Current.LogEvent(GetType().Name + "._stateTimer_Tick()", $"QR code found: '{text}'", "", EventLogEntryType.Information); UserID = text; _HACK_UserIdFoundInQRCode = true; } if (_loginAttempt >= 5) { StaticFileLogger.Current.LogEvent(GetType().Name + "._stateTimer_Tick()", "log in info", $"_loginAttempt is larger than five and _HACK_UserIdFoundInQRCode={_HACK_UserIdFoundInQRCode}", EventLogEntryType.Information); if (!_HACK_UserIdFoundInQRCode) { _mainForm.InvokeUI(delegate { Show(); base.WindowState = FormWindowState.Minimized; base.WindowState = FormWindowState.Normal; BringToFront(); Focus(); Activate(); base.TopMost = true; }); } _stateTimer.Enabled = false; } } }
/// <summary> /// 教师发起签到 /// </summary> /// <param name="TeaNo">教工编号</param> /// <param name="CourseNo">课程编号</param> /// <returns></returns> public ActionResult InitiatedCheckIn(string TeaNo, string CourseNo) { if (TeaNo == null || CourseNo == null) { return(null); } using (var tran = AttendanceService.dal.dbContext.Database.BeginTransaction()) { AttendanceResult result = AttendanceService.InitiatedAttendance(TeaNo, CourseNo); try { if (result.ResultCode == ResultCode.Ok) { string HostIP = IPUtils.GetHostAddresse(); string data = $"http://{HostIP}:8080/api/Attendance/StudentCheckIn?AttendanceId={result.AttendanceId}&CourseNo={CourseNo}&StuNo="; byte[] bytes = QRCodeHelper.GetQRCode(data); var room = RoomService.GetEntity(u => u.F_EnCode == result.RoomNo).FirstOrDefault(); string mac = room?.F_ComputeMac; string connectionId = Cache.GetCache <string>(mac); GlobalHost.ConnectionManager.GetHubContext <QRCodeHub>().Clients.Client(connectionId) .ReciverImg(bytes); tran.Commit(); } } catch (Exception exception) { ExceptionHelper.AddException(exception); result.ResultCode = ResultCode.Error; result.Message = "教室网页已断开连接"; result.AttendanceId = null; tran.Rollback(); } return(Json(result, JsonRequestBehavior.AllowGet)); } }
internal GetMemberQRCodeImageResult GetMemberQRCodeImage(string serverRootDir, GetCampaign_MemberQRCodeImageArgs args) { GetMemberQRCodeImageResult result = new GetMemberQRCodeImageResult(); if (args == null || String.IsNullOrEmpty(args.LandingUrl)) { result.Message = "参数不正确"; return(result); } MemberEntity member = _memberManager.GetMember(args.MemberId); if (member == null) { result.Message = "会员信息不存在"; return(result); } FileRecord fileRecord = _fileManager.Get(args.BackgroundImageId); if (fileRecord == null) { result.Message = "背景图信息不存在"; return(result); } string backgroundImageFile = Path.Combine(serverRootDir, String.Format("FileStore/{0}/{1}", args.Domain, fileRecord.StoredFileName)); if (File.Exists(backgroundImageFile) == false) { result.Message = "背景图文件不存在"; return(result); } FileDownloadAgentArgs downloadArgs = new FileDownloadAgentArgs(); downloadArgs.Domain = args.Domain; downloadArgs.Url = member.Headimgurl_96; downloadArgs.ServerRootDir = serverRootDir; FileDownloadAgentResult downloadResult = _fileManager.Download(downloadArgs); if (downloadResult.Success == false) { result.Message = downloadResult.Message; return(result); } string headImageFile = Path.Combine(serverRootDir, downloadResult.OutputFile); Image qrImage = null; Image backgroundImage = null; Image headImage = null; try { qrImage = QRCodeHelper.GetQRCode(args.LandingUrl); if (qrImage == null) { result.Message = "二维码生成失败。"; return(result); } backgroundImage = Image.FromFile(backgroundImageFile); Graphics g = Graphics.FromImage(backgroundImage); //qrImage float x = backgroundImage.Width - qrImage.Width - 20; float y = backgroundImage.Height - qrImage.Height - 20; g.DrawImage(qrImage, x, y); //headImage x = 20; y = backgroundImage.Height - 20 - 96; headImage = Image.FromFile(headImageFile); g.DrawImage(headImage, x, y, 96, 96); ////nickName //Font font = new Font("黑体", 35f); //x = 96 + 40; //y = backgroundImage.Height - font.Size - 50; //g.DrawString(member.NickName, font, Brushes.Black, new PointF(x, y)); g.Save(); string targetDir = Path.Combine(serverRootDir, "FileStore", args.Domain.ToString()); string storeFileName = Guid.NewGuid().ToString() + ".jpg"; string outputFileName = Path.Combine(targetDir, storeFileName); backgroundImage.Save(outputFileName, ImageFormat.Jpeg); result.Success = true; result.FileName = String.Format("FileStore/{0}/{1}", args.Domain, storeFileName); } catch (Exception ex) { result.Message = ex.Message; } finally { if (qrImage != null) { qrImage.Dispose(); } if (backgroundImage != null) { backgroundImage.Dispose(); } if (headImage != null) { headImage.Dispose(); } } return(result); }
public BsTableDataSource <ADCDQRCodeViewModel> QRCodeList(NoVerifyQRCodeList request) { //if (string.IsNullOrEmpty(adcd)) throw new Exception("adcd无效"); var _adcd = string.IsNullOrEmpty(request.adcd) ? adcd : request.adcd; var _year = request.year == null ? DateTime.Now.Year : request.year; using (var db = DbFactory.Open()) { var builder = db.From <ADCDInfo>(); builder.LeftJoin <ADCDInfo, ADCDQRCode>((x, y) => x.adcd == y.adcd); builder.Where(w => w.adcd.Contains(_adcd.Substring(0, 9)) && w.adcd != _adcd); if (!string.IsNullOrEmpty(request.adnm)) { builder.Where(w => w.adnm.Contains(request.adnm)); } builder.Select(" ADCDQRCode.id,ADCDQRCode.qrpath,ADCDQRCode.qrname,ADCDInfo.adcd,ADCDInfo.adnm"); var count = db.Count(builder); if (!string.IsNullOrEmpty(request.Sort) && !string.IsNullOrEmpty(request.Order) && request.Order == "asc") { builder.OrderBy(o => request.Sort); } else if (!string.IsNullOrEmpty(request.Sort) && !string.IsNullOrEmpty(request.Order) && request.Order == "desc") { builder.OrderByDescending(o => request.Sort); } else { builder.OrderBy(o => o.adcd); } //var rows = request.PageSize == 0 ? 10 : request.PageSize; //var skip = request.PageIndex == 0 ? 0 : request.PageIndex * rows; //builder.Limit(skip, rows); var RList = db.Select <ADCDQRCodeViewModel>(builder); if (!string.IsNullOrEmpty(request.adcds)) { List <ADCDQRCodeViewModel> lstqrcode = new List <ADCDQRCodeViewModel>(); var A = request.adcds.Split(','); for (var i = 0; i < A.Length; i++) { var f = RList.Single(w => w.adcd == A[i]); if (f != null) { ADCDQRCode qrcode = new ADCDQRCode(); qrcode.adcd = f.adcd; var filename = f.adnm + f.adcd.Substring(9, 3); if (string.IsNullOrEmpty(f.qrpath)) { //新增 string str = ConfigurationManager.AppSettings["QRCodeUrl"].ToString() + "?a=" + f.adcd + ""; qrcode.qrpath = QRCodeHelper.GetQRCode(str, RealName, filename); qrcode.qrname = filename; db.Insert(qrcode); } else { //删除 var filepath = System.Web.HttpContext.Current.Server.MapPath("~/" + f.qrpath); File.Delete(filepath); string str = ConfigurationManager.AppSettings["QRCodeUrl"].ToString() + "?a=" + f.adcd + ""; qrcode.qrpath = QRCodeHelper.GetQRCode(str, RealName, filename); qrcode.qrname = filename; db.Update <ADCDQRCode>(qrcode, w => w.adcd == f.adcd); } ADCDQRCodeViewModel qrv = new ADCDQRCodeViewModel() { adcd = f.adcd, adnm = f.adnm, qrname = f.qrname, qrpath = qrcode.qrpath }; lstqrcode.Add(qrv); } } return(new BsTableDataSource <ADCDQRCodeViewModel>() { rows = lstqrcode, total = lstqrcode.Count() }); } return(new BsTableDataSource <ADCDQRCodeViewModel>() { rows = RList, total = count }); } }