发布于 2014-10-28 09:27:50 | 2372 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Python多线程编程,程序狗速度看过来!

Python编程语言

Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。


本文是一个python实现的可以用来生成带Logo的二维码 ,感兴趣的同学参考下。

需求:

最近需要在二维码上加Logo,网上没有找到好用的,于是自己用python写了一个。需要安装qrcode,PIL库

二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明。现随着智能手机的普及,已广泛应用于平常生活中,例如商品信息查询、社交好友互动、网络地址访问等等。

安装 Python 的二维码库 -- qrcode

pip install qrcode

由于生成 qrcode 图片需要依赖 Python 的图像库,所以需要先安装 Python 图像库 PIL(Python Imaging Library),不然会遇到 "ImportError: No module named Image" 的错误。

代码如下:

#!/usr/bin/python  
# -*- encoding: UTF-8 -*-  
# test created on 14-10-28 下午12:48  
# Copyright 2014 offbye@gmail.com  
 
 
"""
生成带logo的二维码
"""  
 
__author__ = ['"Xitao":<offbye@gmail.com>']  
 
import qrcode  
from PIL import Image  
import os  
 
 
def gen_qrcode(string, path, logo=""):  
    """
    生成中间带logo的二维码
    需要安装qrcode, PIL库
    :param string: 二维码字符串
    :param path: 生成的二维码保存路径
    :param logo: logo文件路径
    :return:
    """  
    qr = qrcode.QRCode(  
        version=2,  
        error_correction=qrcode.constants.ERROR_CORRECT_H,  
        box_size=8,  
        border=1  
    )  
    qr.add_data(string)  
    qr.make(fit=True)  
 
    img = qr.make_image()  
    img = img.convert("RGBA")  
 
    if logo and os.path.exists(logo):  
        icon = Image.open(logo)  
        img_w, img_h = img.size  
        factor = 4  
        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(path)  
 
if __name__ == "__main__":  
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">    gen_qrcode("http://offbye.com","qr.png", "logo.png")</span>



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务