精华内容
下载资源
问答
  • Pb11.5 生成二维码已经做好,但是请问如何将一个二维码图片转换为符合二维码标准格式的字符串?还是像Blob一样常规性解析?
  • 二维码转化BASE64字符串存储
  • 二维码图片转换成BASE64字符串
  • 主要支持扫码,扫描枪扫二维码,将扫描枪给出的编码,转化为可读字符串,包含汉字转换,用外置的扫码枪进行扫码,可以识别出二维码里的内容并输出。经过反复测试,没有发现什么问题。
  • 字符串 转换成 二维码

    千次阅读 2016-08-04 11:45:07
    /**将字符串 转换成 二维码 调用 generateQRCode(string) * Created by tangzheng on 2016/8/4. */ public class StringToQRCode { private Bitmap bitMatrix2Bitmap(BitMatrix matrix) { int w = matrix.getW
    /**将字符串  转换成  二维码   调用 generateQRCode(string)
     * Created by tangzheng on 2016/8/4.
     */
    public class StringToQRCode {
        private Bitmap bitMatrix2Bitmap(BitMatrix matrix) {
            int w = matrix.getWidth();
            int h = matrix.getHeight();
            int[] rawData = new int[w * h];
            for (int i = 0; i < w; i++) {
                for (int j = 0; j < h; j++) {
                    int color = Color.WHITE;
                    if (matrix.get(i, j)) {
                        color = Color.BLACK;
                    }
                    rawData[i + (j * w)] = color;
                }
            }
    
            Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.RGB_565);
            bitmap.setPixels(rawData, 0, w, 0, 0, w, h);
            return bitmap;
        }
    
        public   Bitmap generateQRCode(String content) {
            try {
                QRCodeWriter writer = new QRCodeWriter();
                BitMatrix matrix = writer.encode(content, BarcodeFormat.QR_CODE, 500, 500);
                return bitMatrix2Bitmap(matrix);
            } catch (WriterException e) {
                e.printStackTrace();
            }
            return null;
        }
    }
    展开全文
  •  * 二维码工具类  *   */ public class QRCodeUtil { private static final String CHARSET = "utf-8"; private static final String FORMAT_NAME = "JPG"; // 二维码尺寸 private static final int ...
    package com.iflytek.musicexam.core.pay.wxpay;
    


    import com.google.zxing.BarcodeFormat;
    import com.google.zxing.EncodeHintType;
    import com.google.zxing.MultiFormatWriter;
    import com.google.zxing.common.BitMatrix;
    import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;












    import javax.imageio.ImageIO;


    import org.apache.catalina.util.Base64;


    import sun.misc.BASE64Encoder;


    import java.awt.*;
    import java.awt.geom.RoundRectangle2D;
    import java.awt.image.BufferedImage;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.OutputStream;
    import java.util.Hashtable;
    import java.util.Random;


    /**
     * 二维码工具类
     * 
     */
    public class QRCodeUtil {


    private static final String CHARSET = "utf-8";
    private static final String FORMAT_NAME = "JPG";
    // 二维码尺寸
    private static final int QRCODE_SIZE = 190;
    // LOGO宽度
    private static final int WIDTH = 60;
    // LOGO高度
    private static final int HEIGHT = 60;


    private static BufferedImage createImage(String content, String imgPath, boolean needCompress) throws Exception {
    Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
    hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
    hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
    hints.put(EncodeHintType.MARGIN, 1);
    BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE,hints);
    int width = bitMatrix.getWidth();
    int height = bitMatrix.getHeight();
    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    for (int x = 0; x < width; x++) {
    for (int y = 0; y < height; y++) {
    image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
    }
    }
    if (imgPath == null || "".equals(imgPath)) {
    return image;
    }
    // 插入图片
    QRCodeUtil.insertImage(image, imgPath, needCompress);
    return image;
    }


    /**
    * 插入LOGO

    * @param source
    *            二维码图片
    * @param imgPath
    *            LOGO图片地址
    * @param needCompress
    *            是否压缩
    * @throws Exception
    */
    private static void insertImage(BufferedImage source, String imgPath, boolean needCompress) throws Exception {
    File file = new File(imgPath);
    if (!file.exists()) {
    System.err.println("" + imgPath + "   该文件不存在!");
    return;
    }
    Image src = ImageIO.read(new File(imgPath));
    int width = src.getWidth(null);
    int height = src.getHeight(null);
    if (needCompress) { // 压缩LOGO
    if (width > WIDTH) {
    width = WIDTH;
    }
    if (height > HEIGHT) {
    height = HEIGHT;
    }
    Image image = src.getScaledInstance(width, height, Image.SCALE_SMOOTH);
    BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    Graphics g = tag.getGraphics();
    g.drawImage(image, 0, 0, null); // 绘制缩小后的图
    g.dispose();
    src = image;
    }
    // 插入LOGO
    Graphics2D graph = source.createGraphics();
    int x = (QRCODE_SIZE - width) / 2;
    int y = (QRCODE_SIZE - height) / 2;
    graph.drawImage(src, x, y, width, height, null);
    Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);
    graph.setStroke(new BasicStroke(3f));
    graph.draw(shape);
    graph.dispose();
    }


    /**
    * 生成二维码(内嵌LOGO)

    * @param content
    *            内容
    * @param imgPath
    *            LOGO地址
    * @param destPath
    *            存放目录
    * @param needCompress
    *            是否压缩LOGO
    * @throws Exception
    */
    public static void encode(String content, String imgPath, String destPath, boolean needCompress) throws Exception {
    BufferedImage image = QRCodeUtil.createImage(content, imgPath, needCompress);
    mkdirs(destPath);
    String file = new Random().nextInt(99999999) + ".jpg";
    ImageIO.write(image, FORMAT_NAME, new File(destPath + "/" + file));
    }


    /**
    * 当文件夹不存在时,mkdirs会自动创建多层目录,区别于mkdir.(mkdir如果父目录不存在则会抛出异常)

    * @author lanyuan Email: mmm333zzz520@163.com
    * @date 2013-12-11 上午10:16:36
    * @param destPath
    *            存放目录
    */
    public static void mkdirs(String destPath) {
    File file = new File(destPath);
    // 当文件夹不存在时,mkdirs会自动创建多层目录,区别于mkdir.(mkdir如果父目录不存在则会抛出异常)
    if (!file.exists() && !file.isDirectory()) {
    file.mkdirs();
    }
    }


    /**
    * 生成二维码(内嵌LOGO)

    * @param content
    *            内容
    * @param imgPath
    *            LOGO地址
    * @param destPath
    *            存储地址
    * @throws Exception
    */
    public static void encode(String content, String imgPath, String destPath) throws Exception {
    QRCodeUtil.encode(content, imgPath, destPath, false);
    }


    /**
    * 生成二维码

    * @param content
    *            内容
    * @param destPath
    *            存储地址
    * @param needCompress
    *            是否压缩LOGO
    * @throws Exception
    */
    public static void encode(String content, String destPath, boolean needCompress) throws Exception {
    QRCodeUtil.encode(content, null, destPath, needCompress);
    }


    /**
    * 生成二维码

    * @param content
    *            内容
    * @param destPath
    *            存储地址
    * @throws Exception
    */
    public static void encode(String content, String destPath) throws Exception {
    QRCodeUtil.encode(content, null, destPath, false);
    }


    /**
    * 生成二维码(内嵌LOGO)

    * @param content
    *            内容
    * @param imgPath
    *            LOGO地址
    * @param output
    *            输出流
    * @param needCompress
    *            是否压缩LOGO
    * @throws Exception
    */
    public static void encode(String content, String imgPath, OutputStream output, boolean needCompress)
    throws Exception {
    BufferedImage image = QRCodeUtil.createImage(content, imgPath, needCompress);
    ImageIO.write(image, FORMAT_NAME, output);
    }


    /**
    * 生成二维码

    * @param content
    *            内容
    * @param output
    *            输出流
    * @throws Exception
    */
    public static void encode(String content, OutputStream output) throws Exception {
    QRCodeUtil.encode(content, null, output, false);
    }


    public static void main(String[] args) throws Exception {
    String text = "8ef3dec36903ed31243e184380316cdb";
    QRCodeUtil.encode(text, null,
    "/usr/local/share/musicAssessment/QRCode", true,"heihei");
    System.out.println("11");
    // QRCodeUtil.encode(text, null, "/Users/noahshen/Downloads", true);
    //File file = new File("E:/usr/local/share/musicAssessment/QRCode/11.jpg");
    //Base64.encode(binaryData)

    encodeBase64("123456", null, false);
    }
    /**
    * 生成二维码(内嵌LOGO)

    * @param content
    *            内容
    * @param imgPath
    *            LOGO地址
    * @param destPath
    *            存放目录
    * @param needCompress
    *            是否压缩LOGO
    * @throws Exception
    */
    public static void encode(String content, String imgPath, String destPath, boolean needCompress,String imgName) throws Exception {
    BufferedImage image = QRCodeUtil.createImage(content, imgPath, needCompress);
    mkdirs(destPath);
    String file = imgName + ".jpg";
    ImageIO.write(image, FORMAT_NAME, new File(destPath + "/" + file));
    }

    //图片转base64
    public static String encodeBase64(String content, String imgPath, boolean needCompress) throws Exception {
    BufferedImage image = QRCodeUtil.createImage(content, imgPath, needCompress);
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();  
    ImageIO.write(image, "jpg", outputStream);  
    BASE64Encoder encoder = new BASE64Encoder();  
    String base64Img = encoder.encode(outputStream.toByteArray());  
    /* this.content = this.content.replace("@{" + key + "}",  
                "<img src= \"data:image/png;base64," + base64Img + "\"/>"); */ 
    return base64Img;
    }



    }
    展开全文
  • 以下是生成二维码的方法,我只用其中一个方法 这个需要引用ZXing.DLL 链接:https://pan.baidu.com/s/1mCTwHiAm_awtsPcibAotZw 提取码:ufp6 public class QRcode { //需要引用ZXing.DLL 可以百度一下 一...
    以下是生成二维码的方法,我只用其中一个方法 这个需要引用ZXing.DLL 

    链接:https://pan.baidu.com/s/1mCTwHiAm_awtsPcibAotZw
    提取码:ufp6 

     public class QRcode
        {
            //需要引用ZXing.DLL  可以百度一下  一个很好用的二维码生成程序集《DLL文件啦》
            //使用案例:Bitmap img3 = GenByZXingNet("");
            //使用案例:img3.Save(Server.MapPath(@"\testImg\erweima.png"));
            /// <summary>
            /// 生成二维码
            /// </summary>
            /// <param name="msg">二维码信息</param>
            /// <param name="codeSizeInPixels">正方形 边长</param>
            /// <returns>图片</returns>
            public static Bitmap GenByZXingNet(string msg, int codeSizeInPixels = 250)
            {
                BarcodeWriter writer = new BarcodeWriter();
                writer.Format = BarcodeFormat.QR_CODE;
                writer.Options.Hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");//编码问题
                writer.Options.Hints.Add(EncodeHintType.ERROR_CORRECTION, ZXing.QrCode.Internal.ErrorCorrectionLevel.H);
    
                writer.Options.Height = writer.Options.Width = codeSizeInPixels;
                writer.Options.Margin = 0;//设置边框1            ZXing.Common.BitMatrix bm = writer.Encode(msg);
                Bitmap img = writer.Write(msg);
                return img;
            }
    
            #endregion
    
            #region C#生成带有Log的二维码
            /// <summary>
            /// 生成带Logo的二维码
            /// </summary>
            /// <param name="text">文本内容</param>
            static void Generate(string text, string LogoPth, string serverPth, ImageFormat imgFrt)
            {
                //Logo 图片
                Bitmap logo = new Bitmap(LogoPth);
                //构造二维码写码器
                MultiFormatWriter writer = new MultiFormatWriter();
                Dictionary<EncodeHintType, object> hint = new Dictionary<EncodeHintType, object>();
                hint.Add(EncodeHintType.CHARACTER_SET, "UTF-8");
                hint.Add(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
    
                //生成二维码 
                BitMatrix bm = writer.encode(text, BarcodeFormat.QR_CODE, 300, 300, hint);
                BarcodeWriter barcodeWriter = new BarcodeWriter();
                Bitmap map = barcodeWriter.Write(bm);
    
    
                //获取二维码实际尺寸(去掉二维码两边空白后的实际尺寸)
                int[] rectangle = bm.getEnclosingRectangle();
    
                //计算插入图片的大小和位置
                int middleW = Math.Min((int)(rectangle[2] / 3.5), logo.Width);
                int middleH = Math.Min((int)(rectangle[3] / 3.5), logo.Height);
                int middleL = (map.Width - middleW) / 2;
                int middleT = (map.Height - middleH) / 2;
    
                //将img转换成bmp格式,否则后面无法创建Graphics对象
                Bitmap bmpimg = new Bitmap(map.Width, map.Height, PixelFormat.Format32bppArgb);
                using (Graphics g = Graphics.FromImage(bmpimg))
                {
                    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
                    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
                    g.DrawImage(map, 0, 0);
                }
                //将二维码插入图片
                Graphics myGraphic = Graphics.FromImage(bmpimg);
                //白底
                myGraphic.FillRectangle(Brushes.White, middleL, middleT, middleW, middleH);
                myGraphic.DrawImage(logo, middleL, middleT, middleW, middleH);
    
                //保存成图片
                bmpimg.Save(serverPth, imgFrt);
            }
            #endregion
    
            #region ZXing生成条形码
            /// <summary>
            /// 文本内容
            /// </summary>
            /// <param name="text">只支持数字 只支持偶数个 最大长度80</param>
            /// <param name="ServerPTh">存储路径 @"H:\桌面\截图\generate2.png"</param>
            public static void Generate(string text, string ServerPth, ImageFormat imgFrt)
            {
                BarcodeWriter writer = new BarcodeWriter();
                //使用ITF 格式,不能被现在常用的支付宝、微信扫出来
                //如果想生成可识别的可以使用 CODE_128 格式
                //writer.Format = BarcodeFormat.ITF;
                writer.Format = BarcodeFormat.CODE_128;
                EncodingOptions options = new EncodingOptions()
                {
                    Width = 150,
                    Height = 50,
                    Margin = 2
                };
                writer.Options = options;
                Bitmap map = writer.Write(text);
                string filename = ServerPth;//请注意 保存格式和文件扩展名一致性
                map.Save(filename, imgFrt);
            }
    
    
            /// <summary>
            /// 文本内容  生成条形码
            /// </summary>
            /// <param name="text">只支持数字 最大长度80</param>
            /// <param name="ServerPTh">文件夹名称</param>
            /// <param name="fileName">文件名</param>
            public static string GenerateTxm(string text, string category, string fileName, ImageFormat imgFrt)
            {
                var uploadPath = System.Configuration.ConfigurationSettings.AppSettings["UploadPath"];
    
                //文件保存目录路径 
                string dirTempPath = uploadPath + "//" + category;
                if (!Directory.Exists(dirTempPath))
                {
                    Directory.CreateDirectory(dirTempPath);
                }
                string ServerPth = dirTempPath + "//" + fileName;//文件绝对路径
                BarcodeWriter writer = new BarcodeWriter();
                //使用ITF 格式,不能被现在常用的支付宝、微信扫出来
                //如果想生成可识别的可以使用 CODE_128 格式
                //writer.Format = BarcodeFormat.ITF;
                writer.Format = BarcodeFormat.CODE_128;
                EncodingOptions options = new EncodingOptions()
                {
                    Width = 150,
                    Height = 50,
                    Margin = 2
                };
                writer.Options = options;
                Bitmap map = writer.Write(text);
                string filename = ServerPth;//请注意 保存格式和文件扩展名一致性
                map.Save(filename, imgFrt);
                return ServerPth;
            }
            #endregion
    
            #region 二维码 条形码读取
            /// <summary>
            /// 二维码 条形码读取
            /// </summary>
            /// <param name="filename">文件路径</param>
            /// <returns></returns>
            public static string Read(string filename)
            {
                BarcodeReader reader = new BarcodeReader();
                reader.Options.CharacterSet = "UTF-8";
                Bitmap map = new Bitmap(filename);
                Result result = reader.Decode(map);
                return result == null ? "" : result.Text;
            }
            #endregion
    
            #region C#生成特定颜色二维码-基础版本
            //需要引用ZXing.DLL  可以百度一下  一个很好用的二维码生成程序集《DLL文件啦》
            //使用案例:Bitmap img3 = GenByZXingNet("");
            //使用案例:img3.Save(Server.MapPath(@"\testImg\erweima.png"));
            /// <summary>
            /// 生成二维码
            /// </summary>
            /// <param name="msg">二维码信息</param>
            /// <param name="codeSizeInPixels">正方形 边长</param>
            /// <returns>图片</returns>
            public static Bitmap GenByZXingNet_Color(string msg, int codeSizeInPixels = 250)
            {
                BarcodeWriter writer = new BarcodeWriter();
                writer.Renderer = new ZXing.Rendering.BitmapRenderer { Background = Color.Red, Foreground = Color.Blue };
                writer.Format = BarcodeFormat.QR_CODE;
                writer.Options.Hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");//编码问题
                writer.Options.Hints.Add(EncodeHintType.ERROR_CORRECTION, ZXing.QrCode.Internal.ErrorCorrectionLevel.H);
    
                writer.Options.Height = writer.Options.Width = codeSizeInPixels;
                writer.Options.Margin = 0;//设置边框1            ZXing.Common.BitMatrix bm = writer.Encode(msg);
                Bitmap img = writer.Write(msg);
                return img;
            }
    
        }
    View Code

     

                Bitmap b = QRcode.GenByZXingNet("二维码内容字符串");
                MemoryStream ms = new MemoryStream();
                b.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                byte[] bytes = ms.GetBuffer();
                string textString = System.Convert.ToBase64String(bytes);//存DBd的字符串
                ms.Close();
    

      

    string ImgString;//存DB的字符串
    byte[] arrBuffer = System.Convert.FromBase64String(ImgString);//转换成文件流
    

      页面上展示

                        <img src="data:image/jpeg;base64,{{Data.ImgString}}">
    

      我上面是后端的写法,现在用下面的写法比较简单

    使用jquery.qrcode生成二维码

     https://www.cnblogs.com/zhengweijie/p/6911834.html 

    转载于:https://www.cnblogs.com/youngharvard/p/10484795.html

    展开全文
  • js将二维码字符串转换二维码图片 首先下载qrcode.js插件,地址为: 链接: https://pan.baidu.com/s/1aoBM3Ki5ZAu1fdjpyCbPvg 提取码: csmf 下面代码为:二维码展示div //二维码展示 js function...

    js将二维码字符串转换为二维码图片
    首先下载qrcode.js插件,地址为:
    链接: https://pan.baidu.com/s/1aoBM3Ki5ZAu1fdjpyCbPvg
    提取码: csmf
    下面代码为:二维码展示div

    //二维码展示 js function showEWM(data){ var qrcode = new QRCode(document.getElementById("qrcode"), { width : 220, height : 220 });// qrcode.makeCode(data); $('.erweima').css("display","block"); //alert("--------请求-moreRequests"); //请求支付查询接口,查询订单状态 //moreRequests(data2,payType,monthPay); }
    展开全文
  • 字符串生成二维码 1.要是网址生成二维码的话,要加http://前缀
  • 字符串形式的二维码转换为二维码图片-附件资源
  • -- 生成二维码 --&gt; &lt;dependency&gt; &lt;groupId&gt;com.google.zxing&lt;/groupId&gt; &lt;artifactId&gt;core&lt;/artifactId&gt; &lt;version&...
  • 支持maven引入依赖生成二维码,自带工具类,支持生成二维码到本地,也可以转base64字符串(前端轻松解析),写好了强大的工具类,总有一个适合你的。。。。。
  • 字符串转换成二维码

    千次阅读 2016-03-07 16:43:58
    碰到了一个问题,需求是要将每一个老人的二维码展示在前台,可以让不同的子女去扫描老人的二维码,以达到快速绑定老人信息,我们平常扫描二维码的时候,是将二维码的信息解析为字符串等,现在刚好是反着来的。...
  • 字符串二维码之间的相互转换

    热门讨论 2013-08-07 10:47:07
    网上整理的字符串二维码之间的相互转换,还不错.
  • 微信扫码支付生成二维码字符串

    千次阅读 2018-11-16 16:52:09
    流程:前端商品请求------》后台调用微信扫码支付接口(生成二维码字符串)--------------》将字符串返回,利用js再次转换二维码图片-------》展示------》支付宝app扫码支付------》开启线程不断查询订单状态------...
  • 1、返回了二维码字符串pngString:&quot;******************&quot; request.setAttribute(“pngString”, pngString); 2、return “forward:template/login/template3/qrcode.jsp”; 3、qrcode.jsp中: ...
  • 展开 项目右键-》NuGet程序包-》Gma.QrCodeNet下载 引用 using Gma.QrCodeNet.Encoding; using System.Drawing.Imaging; 拖动Gma.QrCodeNet.Encoding至工具箱 引用using Gma.QrCodeNet.Encoding.Windows.Controls;...
  • 输入字符串自动转换二维码图案,并支持打印机打印输出。
  • java生成二维码_java将二维码转换成base64
  • 最近接到这样一个需求,需要在小程序里将十几位随机字符串转换二维码的形式展示。公众号中(另一终端)调用JSSDK扫一扫功能,去扫描小程序生成的二维码。得到字符串,然后进行接下来的逻辑处理。 下面记录的是小...
  • 扫描二维码 获取内容为字符串

    千次阅读 2017-12-28 11:36:40
    //点击跳转到扫描二维码界面 start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { textView.setText(""); Intent intent = new Intent(MainActivity.this,...
  • 二维码生成
  • 该源码实现一款非常不错实现支持字符串生成二维码功能,可以将一个字符串转换成一个二维码图像功能,基本实现了任务管理功能,是一个不错的ios学习的例子,喜欢的朋友可以下载学习看看,。
  • 主要介绍了C# 根据字符串生成二维码的实例,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
  • 字符串转换成二维码并且显示出来的一个简洁的例子。
  • 用Python代码实现01字符串生成二维码,非常实用。
  • 使用的是jfinal框架,用到maven。现在要根据字符串生成二维码,并且显示到jsp页面。
  • 简单的整理一下 可以把字符串转换成二维码 很简单的例子 一起学习!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,072
精华内容 6,028
关键字:

二维码转换成字符串