Python制作二维码,并且可以添加logo

import  readline
import qrcode
from PIL import Image
import os

def Create_Qrcode(strings,path,logo=""):
    qr = qrcode.QRCode(
        version=2,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=6,
        border=1,
    )

    with open(‘test.txt‘,‘r‘) as fr:
        for lines in fr.readlines():
            lines = lines.replace("\n","").strip()
            ID = lines
            lines = strings + lines
            if len(lines) > 0:
                qr.add_data(lines)
                qr.make(fit=True)
                img = qr.make_image()
                img = img.convert("RGBA")
                if os.path.exists(path) and os.path.isfile(logo):
                    icon = Image.open(logo)
                    img_w,img_h = img.size
                    factor = 5
                    size_w = int(img_w / factor)
                    size_h = int(img_h / factor)

                    icon_w, icon_h = icon.size
                    if icon_w > size_w:
                        icon_w = size_w
                    if icon_h > size_h:
                        icon_h = size_h
                    icon = icon.resize((icon_w,icon_h),Image.ANTIALIAS)
                    w = int((img_w - icon_w) / 2)
                    h = int((img_h - icon_h) / 2)
                    icon = icon.convert("RGBA")
                    img.paste(icon,(w,h),icon)

                    img.save( ID + ‘.jpg‘)

if __name__ == "__main__":
    Create_Qrcode(‘http://hepaidai.com/?channel_code=hpd&sub_id=‘,‘E:\PythonProject\\test‘,‘E:\PythonProject\\test\hpd.jpg‘)

说明:

需要安装第三方库:qrcode ,PIL , Image (推荐使用pip安装)
strings: 二维码字符串
path: 生成的二维码保存路径
logo: 要添加的logo文件

生成的二位码:

注意:建议把logo设置的小一点否则制作的二维码不能够被识别

时间: 2024-10-06 15:17:35

Python制作二维码,并且可以添加logo的相关文章

Java制作二维码代码,中间带logo图片,可设置logo大小

public static int createQRCode(String content, String imgPath,String logo) { try { Qrcode qrcodeHandler = new Qrcode(); qrcodeHandler.setQrcodeErrorCorrect('M'); qrcodeHandler.setQrcodeEncodeMode('B'); qrcodeHandler.setQrcodeVersion(7); // System.out

使用python制作二维码

python-qrcode是个用来生成二维码图片的第三方模块,主要依赖的是 PIL 模块和 qrcode 库.(PIL模块只支持python2.7及以下版本,python3之后无法使用,官方推荐python3.x使用pillow代替PIL模块) 1.安装相关环境(以python2.7为例) 首先,我们要安装三个模块,qrcode,image,PIL. pip install qrcode pip install image PIL:Python Imaging Library,已经是Python

C# winform通过ThoughtWorks.QRCode生成二维码解码可以添加logo

首先要下载ThoughtWorks.QRCode.dll文件,添加引用. ThoughtWorks.QRCode.dll下载,点击下载 界面如下: 代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Win

Android:使用ZXing生成二维码(支持添加Logo图案)

ZXing是谷歌的一个开源库,可以用来生成二维码.扫描二维码.本文所介绍的是第一部分. 首先上效果图: ZXing相关各种文件官方下载地址:https://github.com/zxing/zxing/releases 或者在这里下载(只有本项目所用的jar包,版本号:3.2.0):链接: http://pan.baidu.com/s/1hq3s5EW 密码: mvg7 1.生成二维码的工具类 /** * 二维码生成工具类 */ public class QRCodeUtil { /** * 生

python 生成二维码

#coding:utf8 try: import qrcode except ImportError: qrcode = None class MakeQr: def onUseQrcode(self, value): qr = qrcode.QRCode(version=1, box_size=10, border=4) qr.add_data(value) qr.make(fit=True) x = qr.make_image() img_file = open("1.jpg",

使用java解析和制作二维码

项目结构 文件源码 QR.zip 第一步:导入zxing的两个架包 core.jar和javase.jar 第二步:使用工具类 MatrixToImageWriter.java 1 package util; 2 import com.google.zxing.common.BitMatrix; 3 import javax.imageio.ImageIO; 4 import java.io.File; 5 import java.io.OutputStream; 6 import java.i

微信设备公众号不用扫描相应设备二维码也可以添加关注

之前微信设备公众号需要扫描相应设备二维码才可以添加关注,先在微信发布更新,不用扫描相应设备二维码也可以添加关注微信设备公众号了,和普通公众号一样 微信设备公众号无需绑定相关设备也可被关注 好消息,请伙伴们奔走相告,微信新版本(安卓应用宝上的6.0版本,IOS6.0.1版本)设备公众号现无需绑定相关设备也可被关注,从此,你再也不用担心开通设备功能影响涨粉了,可以直接把现有服务号开通设备功能,而不用重新申请服务号. 之前需要扫描相应设备二维码才可以添加关注,现在不用扫描相应设备二维码也可以添加关注.

C# ZXing.Net生成二维码、识别二维码、生成带Logo的二维码(一)

一.ZXing.Net 源代码地址:http://zxingnet.codeplex.com/ 也可以使用Nuget包管理,添加如图: 说明:ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码.目标是能够对QR编码.Data Matrix.UPC的1D条形码进行解码. 其提供了多种平台下的客户端包括:J2ME.J2SE和Android.现在也有了对应的.Net版本 二.生成二维码 将字符编码时可以指定字符格式:默认为ISO-8859-1英文字符集,但一般移动设备常用UTF-8字符

asp.net(C#)利用QRCode生成二维码(续)-在二维码图片中心加Logo或图像 .

<%@ WebHandler Language="C#" Class="GetQRCode" %> using System; using System.Web; using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; using ThoughtWorks.QRCode.Codec.Util; using System.IO; using System.Text; us