精华内容
下载资源
问答
  • 二维码活码源码网站生成,动态码管理,可生成动态码,一码在手随变随走,可以动态变换指向内容,可以随机展示信息
  • Create React App入门 该项目是通过引导的。 可用脚本 在项目目录中,可以运行: npm start 在开发模式下运行应用程序。打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。您还将在控制台中看到任何棉绒...
  • 今天需要做一个会员二维码展示的功能,主要用于会员在线下消费时便于商家快速获取会员信息。 实现: 直接通过js画出来的,这个js是网上开源的。不多说,先上效果图。(第一张是自定义图片;第二张是微信头像的图片...

    背景:

    今天需要做一个会员二维码展示的功能,主要用于会员在线下消费时便于商家快速获取会员信息。

    实现:

    直接通过js画出来的,这个js是网上开源的。不多说,先上效果图。(第一张是自定义图片;第二张是微信头像的图片;第三张没有logo)

     

    使用方式:

    1:页面新建画布,指定宽高和id:

    <canvas style="width: 300px;height: 300px;" canvas-id="logoQRCode" />

    2:将qrcode.js文件引入到项目中,js下载地址:https://www.xuhongchang.com/resource/download.html,生成二维码的界面也需要引入。

    3:直接在js中调用方法即可实现:

    qrCodeJS.qrApi.draw('二维码参数', "画布id", 宽, 高, null, logo的路径);   //注:logo路径存在则绘制,没有值就不绘制。  

     项目的源码下载地址:https://www.xuhongchang.com/resource/download.html

    参考资料:https://www.2cto.com/kf/201802/716714.html 

    感谢

    展开全文
  • 展示如何使用 Google 的图表 API 生成二维码并从 NAO 行为中读取二维码的简单演示 用法 要生成 QR 码,请运行: get-qr.py "<TEXT>" filename.png 第一个参数将是存储在二维码中的文本,如果它包含空格,那么它...
  • 最近一个需求就是做一个二维码扫描的功能,但是又不想使用安卓APP的方式实现,百度了一下貌似HTML5可以实现。 项目使用环境以及工具: Eclipse,JDK1.7,struts2,HTML5,Jquery,QRCode 引用 HTML5...
    最近一个需求就是做一个二维码扫描的功能,但是又不想使用安卓APP的方式实现,百度了一下貌似HTML5可以实现。
    

    项目使用环境以及工具:

    Eclipse,JDK1.7,struts2,HTML5,Jquery,QRCode

    引用
    HTML5技术支持WebApp在手机上拍照,显示在页面上并上传到服务器。这是手机微博应用中常见的功能,当然你也可以在其它类型应用中适当使用此技术。

    这个功能不但手机端可以实现PC端也可以很好的实现,这个应用接口技术就是getUserMedia API,它能让应用开发者访问用户的摄像头或内置相机。下面就让我展示一下如何通过浏览器来访问你的摄像头,并提取截屏图形。

    一、视频流  

          HTML5 的 The Media Capture(媒体捕捉) API 提供了对摄像头的可编程访问,用户可以直接用 getUserMedia (请注意目前仅Chrome和Opera支持)获得摄像头提供的视频流。我们需要做的是添加一个HTML5 的 Video 标签,并将从摄像头获得的视频作为这个标签的输入来源。

    二、拍照

    拍照是采用HTML5的Canvas功能,实时捕获Video标签的内容,因为Video元素可以作为Canvas图像的输入,所以这一点很好实现。

    三、 获取图片

      从Canvas获取图片数据的核心思路是用canvas的toDataURL将Canvas的数据转换为base64位编码的PNG图像,类似于“data:image/png;base64,xxxxx”的格式。

    var imgData=canvas.toDataURL(“image/png”);

    这样,imgData变量就存储了一长串的字符数据内容,表示的就是一个PNG图像的base64编码。因为真正的图像数据是base64编码逗号之后的部分,所以要让实际服务器接收的图像数据应该是这部分,我们可以用两种办法来获取。
      第一种:是在前端截取22位以后的字符串作为图像数据,例如:

    var data=imgData.substr(22);

      第二种:就是替换;前面的部分为"";

    var image = canvas.toDataURL("image/png").replace("data:image/png;base64,", "");

    反正不管如何实现,能获取到图片流即可、

    四、上传图片并解析

    使用 setInterval定时上传到项目后台使用开源QRCode.jar 解析图片获取二维码信息。

    前台部分代码:
    JavaScript code
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <video  id= "video" >
    <script>
         var  flag =  true ;
         window.addEventListener( "DOMContentLoaded" function  () {
             var  video = document.getElementById( "video" ), canvas, context;
             try  {
                 canvas = document.createElement( "canvas" );
                 canvas.width = 600;
                 canvas.height = 600;
                 context = canvas.getContext( "2d" );
             catch  (e) { alert( "not support canvas!" );  return ; }
             navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
     
             if  (navigator.getUserMedia)
                 navigator.getUserMedia(
                     "video" true  },
                     function  (stream) {
                         if  (video.mozSrcObject !== undefined)video.mozSrcObject = stream;
                         else  video.src = ((window.URL || window.webkitURL || window.mozURL || window.msURL) && window.URL.createObjectURL(stream)) || stream;               
                         video.play();
                     },
                     function  (error) {
                         alert( "请检查是否开启摄像头" );
                         flag =  false ;
                     }
                 );
             else  alert( "Native device media streaming (getUserMedia) not supported in this browser" );
            
             setInterval( function  () {
                     if (!flag){
                             return ;
                     }
                 context.drawImage(video, 0, 0, canvas.width = video.videoWidth, canvas.height = video.videoHeight);
                         var  image = canvas.toDataURL( "image/png" ).replace( "data:image/png;base64," "" ); 
                 $.ajax({
                                     url :  'qRCodeAction_decoderQRCode.action' ,
                                     async :  false ,
                                     type :  'post' ,
                                     data : {
                                             'time'  : ( new  Date()).toString(),
                                             'img'  : image
                                     },
                                     success :  function (result) {
                                               
                                     },
                         });
             }, 5000);
         },  false );
      </script> 

    后台部分代码:
    Java code
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    /**
              * 解析二维码
              */
             public  String decoderQRCode(){
                     try  {
                             String realpath = ServletActionContext.getServletContext().getRealPath( "/file" );
                             SimpleDateFormat sdf =  new  SimpleDateFormat( "yyyyMMddHHmmss" );
                             String imgName = sdf.format( new  Date()) +  ".png" ;
                             String filePath = realpath+Constants.SF_FILE_SEPARATOR+imgName;
                             OutputStream out =  new  FileOutputStream(filePath);
                             QRCode.GenerateImage(img,out); //生成图片
                             message   = QRCode.decoderQRCode(filePath);
                     catch  (Exception e) {
                             e.printStackTrace();
                     }
                     return  Action.SUCCESS;
             }


    调用电脑拍摄一定要允许操作。现在只需要HTML5的画布技术和javaScript,我们就能简单快速的操作用户的摄像头。手机不仅可以调用摄像头扫描,PC不仅仅能访问摄像头,而且利用HTML5强大的画布技术,我们可以给图片上加入各种迷人的滤镜效果。现在,在浏览器里用自己的摄像头给自己拍张照片吧!





    有些手机可能无法调出摄像头,那就赶紧换手机吧,别out了。

    附上演示地址: http://monitor.52itstyle.com/index.html


    CSDN 下载地址:http://download.csdn.net/detail/zhulin2012/9571624

    百度云下载地址:http://pan.baidu.com/s/1slaNMnr
    展开全文
  • 下面就让我展示一下如何通过浏览器来访问你的摄像头,并提取截屏图形。 一、视频流  HTML5 的 The Media Capture(媒体捕捉) API 提供了对摄像头的可编程访问,用户可以直接用 getUserMedia (请注意目前仅Chrome...

     最近一个需求就是做一个二维码扫描的功能,但是又不想使用安卓APP的方式实现,百度了一下貌似HTML5可以实现。


    项目使用环境以及工具:

    Eclipse,JDK1.7,struts2,HTML5,Jquery,QRCode

    HTML5技术支持WebApp在手机上拍照,显示在页面上并上传到服务器。这是手机微博应用中常见的功能,当然你也可以在其它类型应用中适当使用此技术。


            这个功能不但手机端可以实现PC端也可以很好的实现,这个应用接口技术就是getUserMedia API,它能让应用开发者访问用户的摄像头或内置相机。下面就让我展示一下如何通过浏览器来访问你的摄像头,并提取截屏图形。

    一、视频流 

          HTML5 的 The Media Capture(媒体捕捉) API 提供了对摄像头的可编程访问,用户可以直接用 getUserMedia (请注意目前仅Chrome和Opera支持)获得摄像头提供的视频流。我们需要做的是添加一个HTML5 的 Video 标签,并将从摄像头获得的视频作为这个标签的输入来源。

    二、拍照

    拍照是采用HTML5的Canvas功能,实时捕获Video标签的内容,因为Video元素可以作为Canvas图像的输入,所以这一点很好实现。

    三、 获取图片

      从Canvas获取图片数据的核心思路是用canvas的toDataURL将Canvas的数据转换为base64位编码的PNG图像,类似于“data:image/png;base64,xxxxx”的格式。

    var imgData=canvas.toDataURL(“image/png”);

    这样,imgData变量就存储了一长串的字符数据内容,表示的就是一个PNG图像的base64编码。因为真正的图像数据是base64编码逗号之后的部分,所以要让实际服务器接收的图像数据应该是这部分,我们可以用两种办法来获取。
      第一种:是在前端截取22位以后的字符串作为图像数据,例如:

    var data=imgData.substr(22);

      第二种:就是替换;前面的部分为"";

    var image = canvas.toDataURL("image/png").replace("data:image/png;base64,", "");

    反正不管如何实现,能获取到图片流即可、

    四、上传图片并解析

    使用 setInterval定时上传到项目后台使用开源QRCode.jar 解析图片获取二维码信息。

    前台部分代码:

    1. <video  id="video">
    2. <script>
    3.     var flag = true;
    4.     window.addEventListener("DOMContentLoaded", function () {
    5.         var video = document.getElementById("video"), canvas, context;
    6.         try {
    7.             canvas = document.createElement("canvas");
    8.             canvas.width = 600;
    9.             canvas.height = 600;
    10.             context = canvas.getContext("2d");
    11.         } catch (e) { alert("not support canvas!"); return; }
    12.         navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
    13.  
    14.         if (navigator.getUserMedia)
    15.             navigator.getUserMedia(
    16.                 { "video": true },
    17.                 function (stream) {
    18.                     if (video.mozSrcObject !== undefined)video.mozSrcObject = stream;
    19.                     else video.src = ((window.URL || window.webkitURL || window.mozURL || window.msURL) && window.URL.createObjectURL(stream)) || stream;               
    20.                     video.play();
    21.                 },
    22.                 function (error) {
    23.                     alert("请检查是否开启摄像头");
    24.                     flag = false;
    25.                 }
    26.             );
    27.         else alert("Native device media streaming (getUserMedia) not supported in this browser");
    28.        
    29.         setInterval(function () {
    30.                 if(!flag){
    31.                         return;
    32.                 }
    33.             context.drawImage(video, 0, 0, canvas.width = video.videoWidth, canvas.height = video.videoHeight);
    34.                     var image = canvas.toDataURL("image/png").replace("data:image/png;base64,", ""); 
    35.             $.ajax({
    36.                                 url : 'qRCodeAction_decoderQRCode.action',
    37.                                 async : false,
    38.                                 type : 'post',
    39.                                 data : {
    40.                                         'time' : (new Date()).toString(),
    41.                                         'img' : image
    42.                                 },
    43.                                 success : function(result) {
    44.                                           
    45.                                 },
    46.                     });
    47.         }, 5000);
    48.     }, false);
    49. </script>

    复制代码


    后台部分代码:

    1. /**
    2.          * 解析二维码
    3.          */
    4.         public String decoderQRCode(){
    5.                 try {
    6.                         String realpath = ServletActionContext.getServletContext().getRealPath("/file");
    7.                         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
    8.                         String imgName = sdf.format(new Date()) + ".png";
    9.                         String filePath = realpath+Constants.SF_FILE_SEPARATOR+imgName;
    10.                         OutputStream out = new FileOutputStream(filePath);
    11.                         QRCode.GenerateImage(img,out);//生成图片
    12.                         message   = QRCode.decoderQRCode(filePath);
    13.                 } catch (Exception e) {
    14.                         e.printStackTrace();
    15.                 }
    16.                 return Action.SUCCESS;
    17.         }

    复制代码



    调用电脑拍摄一定要允许操作。现在只需要HTML5的画布技术和javaScript,我们就能简单快速的操作用户的摄像头。手机不仅可以调用摄像头扫描,PC不仅仅能访问摄像头,而且利用HTML5强大的画布技术,我们可以给图片上加入各种迷人的滤镜效果。现在,在浏览器里用自己的摄像头给自己拍张照片吧!

    09193419_n8oP.jpg 


    09193420_9VLU.jpg 
    有些手机可能无法调出摄像头,那就赶紧换手机吧,别out了。

    附上演示地址:http://monitor.52itstyle.com/

    转载于:https://my.oschina.net/52love/blog/708950

    展开全文
  • Java生成名片式的二维码源码分享

    万次阅读 多人点赞 2017-08-17 22:33:03
    “Java生成名片式(带有背景图片、用户网络头像、用户名称的二维码图片)的二维码源码分享”

    世界上25%的人都有拖延症——但我觉得这统计肯定少了,至少我就是一名拖延症患者。一直想把“Java生成名片式(带有背景图片、用户网络头像、用户昵称)的二维码”这篇博客分享出来,但一直拖啊拖,拖到现在,真应了苏格兰的那句谚语——“什么时候都能做的事,往往什么时候都不会去做。”

    零、效果图

    这里写图片描述

    1. 左上角为微信头像。
    2. 沉默王二是文字昵称。
    3. 附带URL为http://blog.csdn.net/qing_gee的二维码
    4. 还有指定的背景图。

    使用场景:

    点公众号的微信菜单“我的二维码”,然后展示一张名片式的二维码给用户。

    一、源码下载

    可以通过GitHub直接下载https://github.com/qinggee/qrcode-utils.

    二、源码介绍

    你肯定在网络上见到过不少Java生成带有logo的二维码的源码,这些都是生成二维码的初级应用。相对来说,生成“名片式(带有背景图片、用户网络头像、用户名称的二维码图片)的二维码”可能更高级一点,但内在的原理其实是相似的——在一张指定的图片对象Graphics2D利用drawImage()方法绘制上层图像,利用drawString绘制文字。

    2.1 使用接口

    文件位置: /qrcode-utils/src/test/QrcodeUtilsTest.java

    MatrixToBgImageConfig config = new MatrixToBgImageConfig();
    
    // 网络头像地址       config.setHeadimgUrl("https://avatars2.githubusercontent.com/u/6011374?v=4&u=7672049c1213f7663b79583d727e95ee739010ec&s=400");
    
    // 二维码地址,扫描二维码跳转的地址
    config.setQrcode_url("http://blog.csdn.net/qing_gee");
    
    // 二维码名片上的名字
    config.setRealname("沉默王二");
    
    // 通过QrcodeUtils.createQrcode()生成二维码的字节码
    byte[] bytes = QrcodeUtils.createQrcode(config);
    // 二维码生成路径
    Path path = Files.createTempFile("qrcode_with_bg_", ".jpg");
    // 写入到文件
    Files.write(path, bytes);

    如果你从GitHub上下载到源码后,可直接通过eclipse把工程导入到你的工作库,运行/qrcode-utils/src/test/QrcodeUtilsTest.java 即可生成二维码。

    这里写图片描述

    2.2 目录文件介绍

    这里写图片描述

    1. 核心类为QrcodeUtils.java(用来生成二维码)
    2. 名片式二维码的参数类MatrixToBgImageConfig.java
    3. 测试用例QrcodeUtilsTest.java
    4. res资源包下有两张图片,bg.jpg为指定的背景图、default_headimg.jpg为默认的头像图
    5. /qrcode-utils/lib为所需的jar包

    2.3 QrcodeUtils.java

    2.3.1 获取背景

    注意以下代码中的第一行代码。

    InputStream inputStream = Thread.currentThread().getContextClassLoader()
                        .getResourceAsStream(config.getBgFile());
    File bgFile = Files.createTempFile("bg_", ".jpg").toFile();
    FileUtils.copyInputStreamToFile(inputStream, bgFile);

    2.3.2 获取微信头像

    通过建立HttpGet请求来获取微信头像。

    CloseableHttpClient httpclient = HttpClientBuilder.create().build();
    HttpGet httpget = new HttpGet(config.getHeadimgUrl());
    httpget.addHeader("Content-Type", "text/html;charset=UTF-8");
    // 配置请求的超时设置
    RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(500)
            .setConnectTimeout(500).setSocketTimeout(500).build();
    httpget.setConfig(requestConfig);
    
    try (CloseableHttpResponse response = httpclient.execute(httpget);
            InputStream headimgStream = handleResponse(response);) {
    
        Header[] contentTypeHeader = response.getHeaders("Content-Type");
        if (contentTypeHeader != null && contentTypeHeader.length > 0) {
            if (contentTypeHeader[0].getValue().startsWith(ContentType.APPLICATION_JSON.getMimeType())) {
    
                // application/json; encoding=utf-8 下载媒体文件出错
                String responseContent = handleUTF8Response(response);
    
                logger.warn("下载网络头像出错{}", responseContent);
            }
        }
    
        headimgFile = createTmpFile(headimgStream, "headimg_" + UUID.randomUUID(), "jpg");
    } catch (Exception e) {
        logger.error(e.getMessage(), e);
        throw new Exception("头像文件读取有误!", e);
    } finally {
        httpget.releaseConnection();
    }

    通过createTmpFile方法将图像下载到本地。

    public static File createTmpFile(InputStream inputStream, String name, String ext) throws IOException {
            File tmpFile = File.createTempFile(name, '.' + ext);
    
            tmpFile.deleteOnExit();
    
            try (FileOutputStream fos = new FileOutputStream(tmpFile)) {
                int read = 0;
                byte[] bytes = new byte[1024 * 100];
                while ((read = inputStream.read(bytes)) != -1) {
                    fos.write(bytes, 0, read);
                }
    
                fos.flush();
                return tmpFile;
            }
        }

    2.3.3 在背景图上绘制二维码、头像、昵称

    private static void increasingImage(BufferedImage image, String format, String imagePath, File bgFile,
            MatrixToBgImageConfig config, File headimgFile) throws Exception {
        try {
            BufferedImage bg = ImageIO.read(bgFile);
    
            Graphics2D g = bg.createGraphics();
    
            // 二维码的高度和宽度如何定义
            int width = config.getQrcode_height();
            int height = config.getQrcode_height();
    
            // logo起始位置,此目的是为logo居中显示
            int x = config.getQrcode_x();
            int y = config.getQrcode_y();
            // 绘制图
            g.drawImage(image, x, y, width, height, null);
    
            BufferedImage headimg = ImageIO.read(headimgFile);
    
            int headimg_width = config.getHeadimg_height();
            int headimg_height = config.getHeadimg_height();
    
            int headimg_x = config.getHeadimg_x();
            int headimg_y = config.getHeadimg_y();
    
            // 绘制头像
            g.drawImage(headimg, headimg_x, headimg_y, headimg_width, headimg_height, null);
    
            // 绘制文字
            g.setColor(Color.GRAY);// 文字颜色
            Font font = new Font("宋体", Font.BOLD, 28);
            g.setFont(font);
    
            g.drawString(config.getRealname(), config.getRealname_x(), config.getRealname_y());
    
            g.dispose();
            // 写入二维码到bg图片
            ImageIO.write(bg, format, new File(imagePath));
        } catch (Exception e) {
            throw new Exception("二维码添加bg时发生异常!", e);
        }
    }

    好了,源码就先介绍到这喽。


    你是那25%中的一个吗?如果你想终结拖延症,那么可以扫描下方二维码关注我哦(好像这广告语写得不怎么漂亮)。

    沉默王二

    展开全文
  • 使用VS2017基于对话框的MFC制作。包含PDF417二维码生成算法及效果展示
  • 模板简介 最火最能赚钱的网站,找好关键词,创建个微信,现在微信群里全部是微商,你只要加到微信群,在里面打广告,例如:XXX微信网站...帝国CMS微信群二维码导航网站源码微信导航、公众号导航、二维码导航 截图展示
  • 微信小程序源码,前端源码,简单展示源码,原生小程序源码 非uniapp,仅供参考,如有涉及版权问题请联系作者。微信小程序源码,前端源码,简单展示源码,原生小程序源码 非uniapp,仅供参考,如有涉及版权问题请联系...
  • //输入二维码到浏览器 QRcode : : png ( $url ) ; $imageString = base64_encode ( ob_get_contents ( ) ) ; //关闭缓冲区 ob_end_clean ( ) ; //把生成的base64字符串返回给前端 $data = ...
  • 条码扫描二维码扫描——ZXing android 源码简化 条码扫描二维码扫描——ZXing android 源码简化 - DotDot - 博客园条码扫描二维码扫描——ZXing android 源码简化前言最近公司的Android项目需要用到...
  • Android精选源码 自定义弹框封装,ProgressDialog,StatusDialog和Toast,支持自定义颜色 有深度感的fragment代码 在屏幕顶部或者底部显示提示 短信转发工具,自动转发短信到手机或邮箱 ...
  • 超级同城8.8开源版源码下载未关注引导形式改为弹出二维码 、商品展示增加商品描述选项
  • 针对3.2.1版本源码 与其他版本代码可能会有出入,但核心思想基本不变。 首先从com.google.zxing.client.android包中的目录结构分析:Book:这个文件夹中有5个类: BrowseBookListener 实现了adapter的点击事项响应...
  •  最近公司的Android项目需要用到摄像头做条码或二维码的扫描,Google一下,发现一个以Apache License 2.0 开源的 ZXing项目。Zxing项目里的Android实现太过复杂多余东西太多,得对其进行简化。 前提条件  下载
  • 使用Python生成独特二维码详解(附源码,简单易学) ** 简单记录下二维码生成和解析python代码 需要三个模块 PIL(图像处理包,安装:pip install PIL) qrcode(二维码生成包,安装:pip install qrcode) matplotlib...
  • QRCodeLogin 二维码扫码登录;服务器端、网页端、移动端源码
  • java系统源码 QRCodeDemo 新手快速集成ZXing的扫描二维码,同时自定义封装实现 目录 基本概述(项目资源地址) 优点 缺点 界面展示 二维码模块开发过程 ZXing集成 导入ZXing.jar包 拷贝资源文件到工程中 拷贝扫码...
  •  30分钟带你用Wex5做一个微信公众号上使用的二维码名片,相应技术点有详细讲解,高清有码!(点击下载全部源码)  二维码现在是无处不在,无孔不入了。大到一辆汽车,小到一包纸巾,身上都印有二维码,明码标价。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,050
精华内容 4,020
关键字:

二维码展示网站源码