2023-09-04 10:29:28 +08:00

58 lines
1.5 KiB
Python

import qrcode
from PIL import Image
def generate_qr(data, file_name="qr.png"):
"""
生成二维码并保存为文件
:param data: 要编码的数据
:param file_name: 保存的文件名
"""
qr = qrcode.QRCode( # type: ignore
version=10,
error_correction=qrcode.constants.ERROR_CORRECT_L, # type: ignore
box_size=10,
border=4,
)
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save(file_name)
with open("flag.txt","r") as f:
text = f.read()
generate_qr(text,"qr.png")
def split_image_into_quarters(image_path):
# 打开图像文件
image = Image.open(image_path)
# 获取图像的宽度和高度
width, height = image.size
# 计算每个区块的宽度和高度
quarter_width = width // 2
quarter_height = height // 2
# 切割图像为四块
top_left = image.crop((0, 0, quarter_width, quarter_height))
top_right = image.crop((quarter_width, 0, width, quarter_height))
bottom_left = image.crop((0, quarter_height, quarter_width, height))
bottom_right = image.crop((quarter_width, quarter_height, width, height))
return top_left, top_right, bottom_left, bottom_right
# 图像文件路径
image_path = "qr.png"
# 将图像切割成四块
top_left, top_right, bottom_left, bottom_right = split_image_into_quarters(image_path)
# 保存切割后的图像
top_left.save("3.jpg")
top_right.save("2.jpg")
bottom_left.save("4.jpg")
bottom_right.save("1.jpg")