1. <sup id="1kcns"></sup>

    2. <rt id="1kcns"><legend id="1kcns"></legend></rt>
      国产AV巨作丝袜秘书,国产精品久久香蕉免费播放,国产草草影院ccyycom,涩涩爱狼人亚洲一区在线,日本阿v片在线播放免费,国产精品一区二区三区蜜臀,精品一区二区三区在线观看l,av深夜免费在线观看

      HTML5網(wǎng)頁掃描二維碼

      2018-5-22    seo達(dá)人

      如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點(diǎn)這里

      [HTML]代碼

      <!DOCTYPE html>
      <html>
      <head>
          <title>二維碼掃描測試</title>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
      </head>
      <style type="text/css">
          html, body {
              height: 100%;
              width: 100%;
              text-align: center;
          }
      </style>
      <script src="../js/jquery-1.11.1.min.js"></script>
      <script>
          //這段代 主要是獲取攝像頭的視頻流并顯示在Video 簽中
          var canvas = null, context = null, video = null;
          window.addEventListener("DOMContentLoaded", function () {
              try {
                  canvas = document.getElementById("canvas");
                  context = canvas.getContext("2d");
                  video = document.getElementById("video");
                  var videoObj = { "video": true, audio: false },
                      flag = true,
                      MediaErr = function (error) {
                          flag = false;
                          if (error.PERMISSION_DENIED) {
                              alert('用戶拒絕了瀏覽器請求媒體的權(quán)限', '提示');
                          } else if (error.NOT_SUPPORTED_ERROR) {
                              alert('對不起,您的瀏覽器不支持拍照功能,請使用其他瀏覽器', '提示');
                          } else if (error.MANDATORY_UNSATISFIED_ERROR) {
                              alert('指定的媒體類型未接收到媒體流', '提示');
                          } else {
                              alert('系統(tǒng)未能獲取到攝像頭,請確保攝像頭已正確安裝。或嘗試刷新頁面,重試', '提示');
                          }
                      };
                  //獲取媒體的兼容代碼,目前只支持(Firefox,Chrome,Opera)
                  if (navigator.getUserMedia) {
                      //qq瀏覽器不支持
                      if (navigator.userAgent.indexOf('MQQBrowser') > -1) {
                          alert('對不起,您的瀏覽器不支持拍照功能,請使用其他瀏覽器', '提示');
                          return false;
                      }
                      navigator.getUserMedia(videoObj, function (stream) {
                          video.src = stream;
                          video.play();
                      }, MediaErr);
                  }
                  else if (navigator.webkitGetUserMedia) {
                      navigator.webkitGetUserMedia(videoObj, function (stream) {
                          video.src = window.webkitURL.createObjectURL(stream);
                          video.play();
                      }, MediaErr);
                  }
                  else if (navigator.mozGetUserMedia) {
                      navigator.mozGetUserMedia(videoObj, function (stream) {
                          video.src = window.URL.createObjectURL(stream);
                          video.play();
                      }, MediaErr);
                  }
                  else if (navigator.msGetUserMedia) {
                      navigator.msGetUserMedia(videoObj, function (stream) {
                          $(document).scrollTop($(window).height());
                          video.src = window.URL.createObjectURL(stream);
                          video.play();
                      }, MediaErr);
                  } else {
                      alert('對不起,您的瀏覽器不支持拍照功能,請使用其他瀏覽器');
                      return false;
                  }
                  if (flag) {
                      //alert('為了獲得更準(zhǔn)確的測試結(jié)果,請盡量將二維碼置于框中,然后進(jìn)行拍攝、掃描。 請確保瀏覽器有權(quán)限使用攝像功能');
                  }
                  //這個是拍照按鈕的事件,
                  $("#snap").click(function () { startPat(); }).show();
              } catch (e) {
                  printHtml("瀏覽器不支持HTML5 CANVAS");
              }
          }, false);
          //打印內(nèi)容到頁面
          function printHtml(content) {
              $(window.document.body).append(content + "<br/>");
          }
          //開始拍照
          function startPat() {
              setTimeout(function () {//防止調(diào)用過快
                  if (context) {
                      context.drawImage(video, 0, 0, 320, 320);
                      CatchCode();
                  }
              }, 200);
          }
          //抓屏獲取圖像流,并上傳到服務(wù)器
          function CatchCode() {
              if (canvas != null) {
                  //以下開始編 數(shù)據(jù)
                  var imgData = canvas.toDataURL("image/jpeg");
                  //將圖像轉(zhuǎn)換為base64數(shù)據(jù)
                  var base64Data = imgData; //在前端截取22位之后的字符串作為圖像數(shù)據(jù)
                  $.ajax({
                      type: 'post',
                      url: '../ashx/HandlerScan.ashx?method=ParseImage',
                      data: 'ImgData=' + base64Data,
                      dataType: "json",
                      cache: false,
                      timeout: 10000,
                      success: function (mes) {
                          if (mes.code == '1') {
                              alert('未識別二維碼,請重新掃描!');
                          }
                          else {
                              alert(mes.name);
                          }
                      },
                      error: function (err) {
                          alert('掃描失敗' + err);
                      }
                  });
              }
          }
      </script>
      <body>
          <div id="support"></div>
          <div id="contentHolder">
              <video id="video" width="320" height="320" autoplay></video>
              <canvas id="canvas" style="display:none; background-color:#F00;" width="320" height="320"></canvas><br/>
              <button id="snap" style="display:none; height:50px; width:120px;">開始掃描</button>
          </div>
      </body>
      </html>  

      [C#后臺]

          public class HandlerScan : IHttpHandler
          {
              private JsonResult js = new JsonResult();
              public void ProcessRequest(HttpContext context)
              {
                  string result = string.Empty;
                  string method = context.Request.QueryString.ToString();//獲取想要做的操作
                  switch (method)
                  {
                      case "method=ParseImage":
                          result = ParseImage(context);
                          break;
                      default:
                          break;
                  }
                  context.Response.ContentType = "text/json";
                  context.Response.Write(result);
              }
              private string ParseImage(HttpContext context)
              {
                  try
                  {
                      string imgStr = context.Request.Params["ImgData"].ToString();
                      imgStr = imgStr.Replace("data:image/jpeg;base64,", "");
                      //整理字符串
                      imgStr = imgStr.Replace(" ", "+");
                      byte[] arr = Convert.FromBase64String(imgStr);
                      MemoryStream ms = new MemoryStream(arr, 0, arr.Length);
                      Bitmap bmp = new Bitmap(ms);
                      //解析圖片
                      Result result = new BarcodeReader().Decode(bmp);
                      if(result == null)
                      {
                          return "{\"code\":1,\"name\":\"\"}";
                      }
                      else
                      {
                          string[] a = result.Text.Split(','); 
                          string str = "{\"code\":0,\"name\":\"" + a[0] + "\"}";
                          return str; 
                      }
                  }
                  catch (Exception ex)
                  {
                      return "{\"code\":1,\"msg\":\"" + ex.Message + "\",\"userName\":\"\"}";
                  }
              }
              public bool IsReusable
              {
                  get
                  {
                      return false;
                  }
              }
          }
      藍(lán)藍(lán)設(shè)計www.payeee.cn )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 平面設(shè)計服務(wù)

      日歷

      鏈接

      個人資料

      存檔

      主站蜘蛛池模板: 亚洲区小说区图片区qvod| 无码一级片| 久久久久人妻一区精品色| 狠狠五月深爱婷婷网| 国产av寂寞骚妇| 亚洲日本一区二区三区在线不卡 | 国产日韩精品欧美一区二区| 久久老熟女一区二区蜜臀| 亚洲一区在线成人av| 亚洲AV乱码专区国产乱码| 中文人妻第9页| 久久精品中文字幕99| 亚洲三区视频在线观看| 亚洲欧美成人aⅴ在线| 久久精品日日躁夜夜躁| 中文字幕无码Av在线看| H色无码网站| 久久亚洲国产成人亚| 国产在线观看成人91| 欧洲人妻丰满av无码久久不卡| 九九热在线视频精品免费| 日本一区不卡高清更新二区 | 色欲aⅴ亚洲情无码av蜜桃| 国产精品一区二区无码免费看片 | 激情久久久| 色又黄又爽18禁免费视频| 中国AV在线| 亚洲卡2卡三卡4卡2021老狼| www.com黄色| 免费吃奶摸下激烈视频| 91孕妇精品一区二区三区| 亚洲中文字幕2019| 韩国无码av片在线观看| 九一成人AV无码一区二区三区| 亚洲国产成人无码网站大全| 亚洲中文字幕2019| 亚洲欧洲日韩国内精品| 口爆少妇在线视频免费观看| 欧美精品久久久| 国产亚洲精品美女久久久久| 国产精品自拍超碰在线|