互联网的时代,一时一刻都没有停止过,一直都在进步,随着社会的需要,科技的发展。各个方面的各个岗位的需要,没有什么技术实现不了的。为了更便捷、服务的时代。一切达到简便、快捷、易上手。例如 :“中国建设银行校园缴费平台”。PC端缴费、微信公众号缴费都是太拘束了。客户说 :我就想要跟他差不多的,各个商户生成自己的一个二维码,如果客户用微信扫一扫默认就是微信支付、用支付宝扫默认就是支付宝支付、用浏览器扫 到支付那一页了下面列表可以选择支付宝、微信、银联、等等各个通道支付。   嗯  听着是可以满足客户需求的  但  但 可能花点时间

整理整理思路 ,想倒是想的挺简单挺美好来着,但是到某一步也许就卡的一下,无论怎么样 一切都是能解决滴 ,没有什么能够阻挡 。。。

创建生成连接二维码

(1).可以放到公共的类里啦

  public class QRCodeHandler{/// <summary>/// 创建生成二维码/// </summary>/// <param name="Dz">跳转连接地址</param>/// <param name="Tp">中间显示的Logo</param>/// <returns></returns>///   也可以是Image 类型public static byte[] CreateQRcode(string Dz, string Tp){QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//二维码编码(Byte、AlphaNumeric、Numeric)qrCodeEncoder.QRCodeScale = 4;//二维码尺寸(Version为0时,1:26x26,每加1宽和高各加25qrCodeEncoder.QRCodeVersion = 8;//二维码密集度0-40qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//二维码纠错能力(L:7% M:15% Q:25% H:30%)Image card = qrCodeEncoder.Encode(Dz, Encoding.UTF8);System.IO.MemoryStream MStream = new System.IO.MemoryStream();card.Save(MStream, System.Drawing.Imaging.ImageFormat.Png);System.IO.MemoryStream MStream1 = new System.IO.MemoryStream();CombinImage(card, Tp).Save(MStream1, System.Drawing.Imaging.ImageFormat.Png);MStream.Dispose();MStream1.Dispose();MemoryStream ms = new MemoryStream();card.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);//return card;  Image类型的时候返回return ms.ToArray(); //返回 byte[]类型
}/// <summary>   /// 调用此函数后使此两种图片合并,类似相册,有个   /// 背景图,中间贴自己的目标图片   /// </summary>   /// <param name="imgBack">粘贴的源图片</param>   /// <param name="destImg">粘贴的目标图片</param>   public static Image CombinImage(Image imgBack, string destImg){Image img = Image.FromFile(destImg);        //照片图片     if (img.Height != 65 || img.Width != 65){img = KiResizeImage(img, 65, 65, 0);}Graphics g = Graphics.FromImage(imgBack);g.DrawImage(imgBack, 0, 0, imgBack.Width, imgBack.Height); 

View Code

(2).前端调用后台生成商户需要的连接地址二维码,EWMWxItem中的w、h 是设置二维码里面logo的宽高

   //页面
<ul class="ui-list ui-list-one ui-list-link ui-border-tb">@foreach (var m in Model.sources){var url = Url.Action("WxItem", new { id = m.ID });<li class="ui-border-t"><a class="ui-list-info" href="@url"><h4 class="ui-nowrap">@m.MC</h4><img src="@Url.Action("EWMWxItem", "Home", new { id = m.ID, logo = m.Logo, dz= url })" /><div class="ui-txt-info"></div></a></li>}</ul>//后台[Description("获取二维码")]public ActionResult EWMWxItem(int id, string logo, string dz, int? w, int? h){try{w = 50; h = 50;if (string.IsNullOrWhiteSpace(logo))return HttpNotFound();logo = logo.Replace("../", "");var t = "~/" + logo;var logourl = Server.MapPath(t);var startIndex = logourl.LastIndexOf('.');List<string> exs = new List<string> { ".JPG", ".JPEG", ".PNG", ".GIF", ".ICO", ".BMP" };if (w.HasValue || h.HasValue){var tp = string.Format("{0}.{1}_{2}.jpg", logourl, w, h);if (!System.IO.File.Exists(tp)){Db.Charge.FileHelper.PicFile.MakeThumbnail(logourl, tp, w, h);}logourl = tp;}//二维码跳转的连接地址var Url = Request.Url.Scheme + "://" + Request.Url.Authority + dz;var EWMLogo = QRCodeHandler.CreateQRcode(Url, logourl);return File(EWMLogo, @"image/jpeg");}catch (Exception ex){Db.Charge.LogHelper.WriteLogs.LogN("EWMWxItem", ex.ToString());return HttpNotFound();}}

View Code

如果二维码返回 Image类型,后台可以这样处理

        // Image类型public class ImageResult : ActionResult{public ImageResult() { }public Image Image { get; set; }public ImageFormat ImageFormat { get; set; }public override void ExecuteResult(ControllerContext context){// 验证属性if (Image == null){throw new ArgumentNullException("Image");}if (ImageFormat == null){throw new ArgumentNullException("ImageFormat");}//输出
                context.HttpContext.Response.Clear();if (ImageFormat.Equals(ImageFormat.Bmp)) context.HttpContext.Response.ContentType = "image/bmp";if (ImageFormat.Equals(ImageFormat.Gif)) context.HttpContext.Response.ContentType = "image/gif";if (ImageFormat.Equals(ImageFormat.Icon)) context.HttpContext.Response.ContentType = "image/vnd.microsoft.icon";if (ImageFormat.Equals(ImageFormat.Jpeg)) context.HttpContext.Response.ContentType = "image/jpeg";if (ImageFormat.Equals(ImageFormat.Png)) context.HttpContext.Response.ContentType = "image/png";if (ImageFormat.Equals(ImageFormat.Tiff)) context.HttpContext.Response.ContentType = "image/tiff";if (ImageFormat.Equals(ImageFormat.Wmf)) context.HttpContext.Response.ContentType = "image/wmf";Image.Save(context.HttpContext.Response.OutputStream, ImageFormat);}}public ActionResult EWMWxItem(int id, string logo, string dz, int? w, int? h){//二维码跳转的连接地址var Url = Request.Url.Scheme + "://" + Request.Url.Authority + dz;var EWMLogo = QRCodeHandler.CreateQRcode(Url, logo);return new ImageResult(){Image = EWMLogo,ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg};}

View Code

看前台页面需要什么类型的数据显示,无论是哪个类型的 都可以显示在页面。

哇 ~    显示出来了耶 ,但  但是 这个图片 有点大啊,咦  不管了 先扫一下吧  哈哈哈 跳到了

转载于:https://www.cnblogs.com/BabyRui/p/11586754.html

便捷缴费 支付 (一)相关推荐

  1. 刷脸支付降本增效更快更便捷的支付体验

    随着互联网产业的不断发展,线下实体零售企业经历了巨大的技术革命.从线上推广到线下体验,从线下体验到线上挽留,零售企业通过不断进化的新工具打破了服务边界,更好地实现了社会资源的协同.构建了一个庞大的.人 ...

  2. 支付,造就金融科技生态契机——保险科技生态建设...

    未来的商业形态,必定是距离交易越近的越有价值? 以下是数字化转型的分享线路图,您现在所在的位置为序号的分享:生态圈建设. 以下是正文: 这一节主要造就金融科技契机的能力:支付.是什么造就了金融科技生态 ...

  3. 第三方支付线上产品分析

    第三方支付线上有哪些产品:网关支付,快捷支付,协议代付,API代付,代扣,微信/支付宝支付等,商业银行的态度可谓几经转变.在第三方支付发展初期,银行愿意与之合作共同开拓电子商务市场,毕竟可以促进银行卡 ...

  4. 第三方移动支付类产品竞品分析:支付宝VS微信支付VS云闪付

    第三方移动支付类产品竞品分析:支付宝VS微信支付VS云闪付 文章目录 第三方移动支付类产品竞品分析:支付宝VS微信支付VS云闪付 一.分析背景与竞品选择 1.竞品分析目的 2.行业研究与市场趋势分析 ...

  5. “支付清算”之信息流与资金流

    本文由作者 小狼Man 于社区发布 "支付又称付出.付给,多指付款,是发生在购买者和销售者之间的金融交换,是社会经济活动所引起的货币债权转移的过程.支付包括交易.清算和结算." 从 ...

  6. 分享2020年线上支付接口产品讲解

    但随着第三方支付的快速发展,其免费模式及存在的套现漏洞.运营模式由支付渠道转向掌握客户资源的消费渠道更使得银行担心在市场做大的同时却为他人做了嫁衣,银行开始对银行卡网上支付做出限制.这仅仅只能缓解一时 ...

  7. 践行支付为民 线上支付开通ETC线上申卡、支付

    中国,已连续多年成为世界机动车产销第一大国.2018年,全国机动车保有量达3.27亿辆,机动车驾驶人达4.09亿人,平均每三人中就有一名驾驶人.在巨大的交通市场下,以智能支付贯穿各个细分领域,为车主带 ...

  8. 微信支付与支付宝钱包的竞争分析

    微信支付与支付宝钱包的竞争分析 NO1: 十九世纪七十年代起,"物竞天择,适者生存,优胜劣汰"已逐渐成为现代生物学的口号.而今,不知不觉中,它似乎也成了当代社会学的口号.罗素说:& ...

  9. 支付,造就金融科技生态契机——保险科技生态建设

    未来的商业形态,必定是距离交易越近的越有价值? 以下是数字化转型的分享线路图,您现在所在的位置为序号的分享:生态圈建设. 以下是正文: 这一节主要造就金融科技契机的能力:支付.是什么造就了金融科技生态 ...

  10. 场景化与电子支付的密切关系

    二.场景化是移动互联时代支付发展的趋势 移动互联时代,支付与场景结合更加紧密.场景是多样的,这就使得支付行为变得越来越"短平快",更加碎片化.在移动互联网时代,用户的所有行为,包括 ...

最新文章

  1. “深度学习之父”大谈AI:寒冬不会出现,论文评审机制有损创新
  2. LeetCode 93. Restore IP Addresses--面试算法题--Python解法
  3. 中国信通院《新型智慧城市发展研究报告》
  4. 使用bpf 排查 fd 泄漏
  5. make run_py时ImportError: No module named cv2
  6. VMware的屏幕太小
  7. 使用Maven把项目打包成可执行jar在Idea里
  8. python必背入门代码-学 Python 必背的42个常见单词,看看你记住了几个?
  9. 实验任务(四)---恶意代码技术
  10. Java实现对数函数图像增强
  11. 三泰串口卡linux驱动,工业多串口卡.pdf
  12. 【转】安装虚拟机VMware及在VMware下安装Ghost XP系统图文教程(附PQ分区及VMware共享教程)
  13. 双十一全零售领域狂欢 请了明星代言商家真的能赚到钱吗?
  14. 论文解读--Multi-class Road User Detection with 3+1D Radar in the View-of-Delft Dataset
  15. 《我为什么熬夜?》系列之 倚天屠龙记
  16. 25岁裸辞转行5G网络优化工程师:比盲目赶路更为重要的,是知道方向—分享优橙小故事
  17. Windows下Python安装并为pip配置阿里镜像
  18. [动态规划]基因序列相似性问题
  19. MathJax 与 Katex 在公式对齐、编号、交叉引用方面的不同
  20. 免费计算机网络同传系统,ghost网络同传系统.doc

热门文章

  1. python爬取图片源码_python爬图源码
  2. scikit-learn中的KMeans聚类实现
  3. 上海市计算机应用基础答案,计算机应用基础10统考(附答案)
  4. 图片处理工具类ImageHelper
  5. 数仓及其维度(分层)建模(ODS DWD DWS DWT ADS)
  6. MATLAB代码:面向削峰填谷的电动汽车多目标优化调度策略
  7. web前端基础 html5+css3(七.PS切图与项目实战(学成在线))
  8. 去掉图标后蓝色方块设置方法
  9. springcloud5-服务网关zuul及gateway
  10. 【工作流引擎--Snaker介绍】