Python-图片右下角打上一个二维码

服装商品图片名称是款号,但是当传递图片的时候,只看图片看不到款号,

所以想要把款号生成一个二维码打在商品图片的右下角,方便图片的传播以及查找。

原图:图片名称 KBA018LM1.JPG

Python-图片右下角打上一个二维码_第1张图片

目标图:右下角二维码的内容是:KBA018LM1

Python-图片右下角打上一个二维码_第2张图片

目标明确后,整理思路:

1、获取商品图片名称(不包含后缀)

2、根据商品图片名称生成一个指定大小的二维码

3、把二维码放置在原图的右下角指定位置

4、生成一张新的图片保存即可。

延伸:批量处理图片,编译成一个可执行文件,动态指定二维码大小,二维码中加入更多的信息。

# -*- coding : utf-8 -*-
# __author__ : 'cs'
# @Desc      : 一张图片粘贴到另一张图片的特定位置:每个款式图片添加二维码:商品编码
# @Time      : 2019-08-19 13:08
# @File      : pastepict.py
# @Sotfware  : PyCharm Community Edition

from PIL import Image
import qrcode
import os.path

'''根据原图名称生成二维码'''
def get_myQR(picture_name):
	qr = qrcode.QRCode(version=1, error_correction=qrcode.constants.ERROR_CORRECT_M,\
					   box_size=3, border=4)
	qr.add_data(picture_name)
	qr.make(fit=True)
	qr_img = qr.make_image()
	return qr_img


'''把二维码放置在原图的右下角'''
def comblex_pic(base_img, myQR):
	myQR_w, myQR_h = myQR.size
	base_img_w, base_img_h = base_img.size
	paste_location = (base_img_w-myQR_w, base_img_h-myQR_h, base_img_w, base_img_h)
	base_img.paste(myQR, paste_location)
	return base_img


if __name__ == '__main__':

	pic_file = 'KBA018LM1.jpg'
	base_img = Image.open(pic_file)
    #获取图片名称,不含后缀
	pic_name = os.path.splitext(os.path.split(pic_file)[-1])[0]
    #生成二维码
	myqr_img = get_myQR('款号 :' + pic_name)
    #二维码添加至原图右下角
	comblepic = comblex_pic(base_img, myqr_img)
    #显示图片
	comblepic.show()
    #comblepic.save(filename) #报存图片也可以

 

 

你可能感兴趣的:(python,图片)