Atitit.二维码功能的设计实践 attilax 总结

1.1. 二维码要实现的功能1

1.2. 现有二维码功能设计不足的地方(待改进)1

1.3. 二维码组件1

1.4. Java版  zxing类库..2

1.5. Php版 laveral框架版3

1.6. Phpqrcode框架版3

1.7. Qa集合与注意事项3

1.1. 二维码要实现的功能

显示二维码

保持二维码图片为文件

直接输出二维码图片流

Img 的src为二维码图片

一般要传递order_id 或者一个url参数为主。

1.2. 现有二维码功能设计不足的地方(待改进)

Java 与php的api 统一化

增加Js sdk

1.3. 二维码组件

Prj eform

<a href="{{ url('/qrcodeQ5/qrcode.php?url='.base64_encode($url)) }}">

<img class="img-res bd" style="max-width:250px" src="{{ url('/qrcodeQ5/qrcode.php?url='.base64_encode($url)) }}" alt="...">

</a>

作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

1.4. Java版  zxing类库..

#-----com.xx.share.sharex.java

public   String gene(String code) {
        String qrcodedir = "qrcodeO5/"+filex.getUUidName()+".jpg";
    
        String path=pathx.webAppPath() + "/" + qrcodedir;
        filex.createAllPath(path);
        core.log("--qrcode path:"+path);
    // attilax 老哇的爪子  下午5:30:42   2014年5月11日 
      qrcodex.    gene(code, path, 250, 250);
      return qrcodedir;
    }

#----com.attilax.qrcode.qrcodex.javar

public static void gene(final String content, final String path,
            final int width, final int height) {
        new tryX<Object>() {

@Override
            public Object item(Object t) throws Exception {
                // attilax 老哇的爪子  下午5:23:26   2014年5月11日 
                   MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
                     
                     Map hints = new HashMap();
                     hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
                 
                    BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, width, height,hints);
                     File file1 = new File(path );
                     MatrixToImageWriter.writeToFile(bitMatrix, "jpg", file1);
                return null;
            }
        }.$("");
    }

1.5. Php版 laveral框架版

    ob_clean();//清除输出

 $image=QrCode::format('png')->merge('/public/'.CDN_IMG.'logo.png', .3)->margin(2)->size(200)->color(0,0,0)->backgroundColor(255,255,255)->encoding('UTF-8')->generate($url);

return response()->make($image, 200, [

            'content-type' => 'image/png',

        ]);

1.6. Phpqrcode框架版

 

<?php

$url=base64_decode($_GET["url"]);

include 'phpqrcode/phpqrcode.php';

//QRcodeQ5::png('code data text', 'filename.png'); // creates file

QRcodeQ5::png($url);

 

//QRcodeQ5::png('some othertext 1234'); // creates code image and outputs it directly into browser

//输出图片   

//imagepng($QR, 'helloweixin.png');   

?>

 

 

1.7. Qa集合与注意事项

输出png的图片不能正常显示,这个通常是bom头造成的,某一个类库php是utf8格式的,而生成qrcode的php界面include了它。。。最简单的解决方案是

先用   ob_clean();//清除输出,一般就可,但在laveral框架下,任然不可。。

就把生成qrcode的php组件独立出来,然后通过img的src调用。。即可。。

 

参考

atitit.二维码生成总结java zxing - attilax的专栏 - 博客频道 - CSDN.NET.html

Atitit.二维码功能的设计实践 attilax 总结的更多相关文章

  1. SNF开发平台WinForm-平板拍照及扫描二维码功能

    在我们做项目的时候,经常会有移动平板处理检验,审核等,方便移动办公.这时就需要在现场拍照上传问题,把当场问题进行上传,也有已经拍完照的图片或加工过的图片进行上传.还有在车间现场一体机,工控机 这种产物 ...

  2. Android二维码功能实现,在程序内嵌入ZXing项目

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9526247 最近二维码真是越来越火了,随便电视上.网络上.商场里,到处都是二维码. ...

  3. FastReport 中添加二维码功能.(Delphi)

    http://www.cnblogs.com/fancycloud/archive/2011/07/24/2115240.html FastReport 中添加二维码功能.(Delphi)   在实际 ...

  4. atitit.二维码生成总结java zxing

    atitit.二维码生成总结java zxing #-----zxing类库.. but zxing3.0  的类库core-3.0.jar 需要jdk7 只好zing2.2.jar ..jdk6走o ...

  5. iOS开发——高级技术&二维码功能的实现

    二维码功能的实现 ZBarSDK,一个比较优秀的开源项目,使用起来也很简单. ZBarSDK是一个开源的SDK,可从这里下载到源码,该SDK实现了识别和读取各种条形码,包括EAN-13/UPC-A, ...

  6. iOS--iOS7摄像头识别二维码功能

    iOS–iOS7摄像头识别二维码功能 属性介绍: AVFoundation 框架基于以下几个类实现图像捕捉 ,通过这些类可以访问来自相机设备的原始数据并控制它的组件. AVCaptureDevice ...

  7. shopnc 商家中心添加打印商品二维码功能

    需求中提到需要增加每一件商品可以打印,用于线下体验店实体商品的二维码标签,客人可以根据手机扫二维码功能进行购买 任务描述: 1.如附件实现”批量打印标签“和单个商品”打印“标签功能. 2.标签有两种” ...

  8. ios7下二维码功能的实现

    苹果公司升级到IOS7后自己的PassBook自带二维码扫描功能,所以现在使用二维码功能不需要在借助第三方库了 使用前请先导入AVFoundation.frameWork // //  YHQView ...

  9. Canvas与Image互相转换示例以及利用该技术实现微信长按自动识别二维码功能

    现在扫描二维码已经很普遍,微信扫一扫即可,但是如果二维码是在自己的手机上呢?那就要用到微信里的一个功能了,手指长按二维码,会弹出自动识别的选项,点确定就可以看到二维码的内容了.那么怎么通过前端实现这个 ...

随机推荐

  1. 利用cURL请外部接口

    昨天有一个需求,就是需要把获取到的百度地图信息存储到百度地图LBS云储存上 看了一下LBS云储存,说白了就是通过接口操作云数据库,所以写了一个通用的cURL函数 代码如下: /** * @param ...

  2. FTP客户端工具

    推荐使用8UFTP.小.快.好! 8UFTP工具分为8UFTP客户端工具和 8UFTP智能扩展服务端工具,涵盖其它FTP工具所有的功能.不占内存,体积小,多线程,支持在线解压缩.界面友好,操作简单,可 ...

  3. Ubuntu下Firefox无法播放视频的解决方法

    Ubuntu为Firefox安装Adobe Flash Player 解决方法(解决火狐浏览器安装了三个flash插件中的第二个或者第三个插件而无法安装第一个adobe flash插件的方法):在新立 ...

  4. 简单nginx+tomca负载均衡

    Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 ...

  5. 在ios程序中自己主动滚动TableView到某行的方法

    比方tableview窗体能够显示 30 行, 我想在填充tableview 100 条数据后 选择第 50行, 能把这一行显示到窗体内, 就像手动拖滚动栏到 第 50行一样,要怎样实现呢? ] an ...

  6. Docker创建centos的LNMP镜像

    前段时间重装了系统,今天刚好有时间,就用docker安装一个lnmp开发环境,下面是我的安装笔记. 1. 安装docker 这个就不说了,不会的可以看下我之前的文章<Docker介绍及安装> ...

  7. [ToDo]Thrift学习

    这里有较详细的Java项目配置过程: http://bglmmz.iteye.com/blog/2058785 下面有Java项目的示例介绍: http://www.tuicool.com/artic ...

  8. <input type = "submit"> 提交方式和用js的form.submit()有什么区别?

    假设: A表单内有<input type="submit">,通过点击这个input来提交表单 B表单内没有<input type="submit&qu ...

  9. excel宏调用webservice使用存储过程同步excel数据的方法

    excel宏: 随后更新 webservice: 1.创建空应用程序 2.加入web服务 3.创建数据库訪问类库DataHelper sqlserver: 创建数据同步的存储过程 下面是一些须要的代码 ...

  10. My SqL 常用命令

    1:使用SHOW语句找出在服务器上当前存在什么数据库:mysql> SHOW DATABASES;2:2.创建一个数据库MYSQLDATAmysql> CREATE DATABASE MY ...