python 生成待图片的二维码代码

imge.show()在Liunx下可能不行。

ps:标准版本的show()方法不是很有效率,因为它先将图像保存为一个临时文件,然后使用xv进行显示。如果没有安装xv,该函数甚至不能工作。但是该方法非常便于debug和test。(windows中应该调用默认图片查看器打开)

代码如下:

#-*-coding:utf-8-*-

#这是一个二维码的生成代码

import qrcode

import os

from PIL import Image

import Pillow

print()

class QrCode():

def __init__(self, version=8,

error_correction=qrcode.constants.ERROR_CORRECT_H,

box_size=4,

border=1,

save_path_name="二维码",

cont=‘您的二维码信息没有生成,请重试‘,

path=‘‘,

logo=‘‘

):

self.version=version #值范围为1~40,控制二维码的大小, None 并使用 fit 参数即可

self.error_correction=error_correction#纠错能力 _L约7%,_M约15%,_H约30%

self.box_size=box_size#控制二维码中每个小个子包含的像素数

self.border=border#边框值,最小为4

self.name=save_path_name

self.cont=cont

self.save_path_name=save_path_name

self.logo = logo

print ("我已经有了二维码的属性")

def Save(self):

qr = qrcode.QRCode(

version=self.version,

error_correction=self.error_correction,

box_size=self.box_size,

border=self.border,

)

qr.add_data(self.cont)

qr.make(fit=True)

img = qr.make_image()

img = img.convert(‘RGBA‘)

icon = Image.open(self.logo)

img_w, img_h = img.size

factor = 1/4

size_w,size_h = (int(img_w*factor),int(img_h*factor))

icon = icon.resize((size_w,size_h), Image.ANTIALIAS)

w,h = (int(img_w*(1-factor)/2),int(img_h*(1-factor)/2))

icon =icon.convert(‘RGBA‘)

img.paste(icon,(w,h),icon)

img.save(self.save_path_name)

img.show()

#print ("二维码已经生成,存在当前目录下")

#image=Image.open(self.name+‘.png‘)

#image.show()

#os.system("explorer.exe %s" %os.getcwd())  打开当前文件夹,win下使用

a=QrCode(cont="http://www.jb51.net/article/58579.htm",save_path_name=‘/home/fuhan/fuhan.jpg‘,logo=‘/home/fuhan/a.jpg‘)

a.Save()

时间: 2024-11-05 13:45:19

python 生成待图片的二维码代码的相关文章

.NET使用ZXing.NET生成中间带图片的二维码

很久之前就有写这样的代码了,只是一直没记录下来,偶然想写成博客. 把之前的代码封装成函数,以方便理解以及调用. 基于开源的 ZXing.NET 组件,代码如下: 先添加对ZXing.NET的引用,然后添加相应的命名空间: using System; using System.Collections.Generic; using System.Drawing; using ZXing; using ZXing.Common; using ZXing.QrCode; using ZXing.QrCo

js实现生成中间带图片的二维码

之前需要实现生成中间带图片的二维码,所以找了半天终于找到一个可以用的.于是在这里记录一下. 下面是需要注意的几点: 1.使用的js为jquery-qrcode 但是已经经过别人的修改,和网上原来的那些不一样,所以网上的js不能用. 2.生成的图片大小可以调整 3.我尽可能保留了原作者的所有代码,都没有动过. 4.更多的方法和参数还是要参考官方的github和文档. http://files.cnblogs.com/files/linkstar/%E7%94%9F%E6%88%90%E4%B8%A

讲解开源项目:用 Python 生成有“灵魂”的二维码

本文作者:HelloGitHub-LITTLECHIEH 这是 HelloGitHub 推出的<讲解开源项目>系列,今天给大家推荐一个 Python 开源生成二维码的项目--qrcode 一.介绍 1.1 二维码 二维码又称二维条码,常见的二维码为 QR Code,QR 全称 Quick Response.是一个近几年来移动设备上超流行的一种编码方式,在现在的生活中二维码随处可见.我们可以用它支付.浏览网站等,为什么他会这么流行?下面说几个特点: 可存储的信息量大:可容纳多达 1850 个大写

友盟自定义分享-生成带图片的二维码,自定义分享布局

public class UmengShare { private Activity activity = null; private UMSocialService mController = null; private Dialog shareDialog = null; private Bitmap bitmapCode = null; public UmengShare(Activity activity){ this.activity = activity; } public void

Android生成带图片的二维码

一.问题描述 在开发中需要将信息转换为二维码存储并要求带有公司的logo,我们知道Google的Zxing开源项目就很好的帮助我们实现条形码.二维码的生成和解析,但带有logo的官网并没有提供demo,下面就通过实例看看如何实现以及Zxing的使用. 二.案例介绍 1.案例运行效果 2.案例准备工作 在项目中加入jar,只需加入core.jar Zxing项目地址:https://github.com/zxing/zxing/ 三.Zxing主要组件 1.BarcodeFormat 定义了不同的

Android使用ZXing生成带图片的二维码

效果图如下: 制作过程很简单的就是在原始的二维码图片上添加一个logn图标,代码的注释写得很详细,也就不给大家啰嗦了 package com.example.day44_02_qrcodewithlogin; import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Bitmap.Confi

涛哥的Python脚本工具箱之生成带Logo的二维码

近期须要在二维码上加Logo,网上没有找到好用的,于是自己用python写了一个. 须要安装qrcode,PIL库 二维码简称 QR Code(Quick Response Code),学名为高速响应矩阵码,是二维条码的一种.由日本的 Denso Wave 公司于 1994 年发明. 现随着智能手机的普及.已广泛应用于寻常生活中,比如商品信息查询.社交好友互动.网络地址訪问等等. 安装 Python 的二维码库 -- qrcode pip install qrcode 因为生成 qrcode 图

生成带内嵌图片的二维码

在博问上看到有同学在问如何实现一个带内嵌图片的二维码,所以准备记录下来,供同学们参考. 1.首先准备一个用于内嵌的图片. 2.既然生成二维码码,那肯定需要将什么样的内容生成二维码,这里我用http://www.baidu.com作为生成二维码的字符串 private string QcodeSource { get { return "http://www.baidu.com"; } } 3.我们来看看根据QcodeSource生成二维码的方法,这里返回Byte[].PS:这里用了 G

python将url转换成二维码

准备环境 python生成二维码,需要依赖包qrcode和PIL(二维码的实质就是一个url.) python3安装PIL:pip install PIL python2安装PIL:pip install pillow 生成二维码的方法 1.将url生成二维码的最简单的示例如下: import qrcode img=qrcode.make("www.zhuanzhuan.com") img.save("./test.png") 2.可以通过qrcode的一些配置项来