文档章节

给二维码添加背景

Fly_f
 Fly_f
发布于 2016/04/08 19:07
字数 147
阅读 166
收藏 3

要安装依赖包  qrcode 。

# -*- coding: utf-8 -*-
'''
Created on Apr 8, 2016

@author: fky
'''
import qrcode
from PIL import Image
from PIL import ImageDraw

class ArtCode(qrcode.QRCode):
    def __init__(self,back_img=None,transparent=100,version=1):
        super().__init__(version=version)
        self.transparent=transparent
        try:
            self.back_img = Image.open(back_img)
        except Exception as e:
            print(e)
        
    def make_image(self, image_factory=None, **kwargs):
        img = super().make_image(image_factory=image_factory, fill_color='transparent')
        re_img = self.back_img.resize(img.size,Image.ANTIALIAS)
        pixels = img.load()
        re_pixels = re_img.load()
        draw = ImageDraw.Draw(img)
        for i in range(img.size[0]):
            for j in range(img.size[1]):
                if pixels[i,j][3] > 0:
                    continue
                draw.point((i,j),(re_pixels[i,j][0],re_pixels[i,j][1],re_pixels[i,j][2],self.transparent))
        return img


if __name__=='__main__':
    qr = ArtCode('template.jpg')
    qr.add_data('fuck')
    img = qr.make_image()
    img.save('xx.png')


结果图


© 著作权归作者所有

Fly_f

Fly_f

粉丝 24
博文 56
码字总数 18779
作品 0
松江
程序员
私信 提问
结合WebSocket,实现远程二维码生成应用

在上一篇文章中介绍了通过WebSocket实现服务端和客户端的图像传输。基于这个实现,可以把二维码生成器放在服务端,轻松实现远程解决方案。 参考原文: Barcode Generator with HTML5 WebSock...

yushulx
2014/06/24
262
0
swift手撕二维码

超市付款扫一扫,免费wifi扫一扫,添加好友扫一扫。 二维码就像是神一般的存在!! 可是到底二维码是个啥呢? QRCode.jpg 一、简介 1、概念 用某种特定的几何图形按照一定规律在平面分布的黑...

阡陌有客
2017/11/27
0
0
会议总结

1、网络接口类 2、验证码按钮 倒计时重新获取验证码,自动填充到表格,样式 3、userToken 加密算法 4、注册web服务器10分钟内防止重复注册 5、完善信息页面添加取消 6、注册完成返回UserID ...

ZCHPeng
2014/12/05
9
2
Laravel -- 实战篇 自制二维码 Simple QrCode

一、配置 1.在项目根目录输入命令 composer require simplesoftwareio/simple-qrcode 1.3.* 2.在 的 数组里添加服务提供者. SimpleSoftwareIOQrCodeQrCodeServiceProvider::class 3.在 的 数......

QIANG008
2016/09/27
0
0
visual-qr-code 1.0 发布,可设置 Logo 的二维码生成

visual-qr-code可以创建出精美的二维码,与传统的二维码不同的是,设置的背景图片或logo并不是只是在二维码中心,背景图片和logo都是半透明的,让二维码更好看 一、使用示例(详细情况源码中的...

boat824109722
2018/01/08
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
10
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0
PHP+Ajax微信手机端九宫格抽奖实例

PHP+Ajax结合lottery.js制作的一款微信手机端九宫格抽奖实例,抽奖完成后有收货地址添加表单出现。支持可以设置中奖概率等。 奖品列表 <div class="lottery_list clearfix" id="lottery"> ......

ymkjs1990
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部