나만의 QR 코드를 만드는 방법
import qrcode
from PIL import Image
import random
pip install qrcode
pip install pillow
pip install random
# 필요한 모듈을 불러오는 단계 : 해당 모듈이 불러와 지지 않는 경우 설치되었는지 확인한다.
# QR 코드 생성
qr = qrcode.QRCode(
version=random.randrange(5,10), # QR 코드 버전 (1-40), 높을수록 더 많은 데이터 저장 가능
error_correction=qrcode.constants.ERROR_CORRECT_Q, # 오류 수정 수준 (L, M, Q, H)
box_size=20, # 각 박스의 크기
border=3, # QR 코드 외곽의 여백 (기본값 4)
)
# URL 데이터 추가
qr.add_data('https://from-biology.tistory.com/')
qr.make(fit=True) # QR 코드를 데이터에 맞게 조정
# QR 코드 생성의 기본 정보를 설정
- ERROR_CORRECT: 오류 수정 수준으로, L-M-Q-H는 각각 7-15-25-30% 이하의 오류가 수정될 수 있음을 의미한다.
(예를 들어 ERROR_CORRECT_M일때, QR 코드가 15% 까지 회손되는 것은 인식에 문제를 주지 않는다.)
- version: QR코드의 복잡성을 의미하고, 많은 데이터를 코드에 저장해야 할때 값을 올려 많은 데이터를 저장한다.
# 기본 설정 이미지
img = qr.make_image()
img.save('result/qr_simple.png')
# 가장 기본적인 형태의 qr 코드를 생성
# 색깔 변화
img = qr.make_image(fill_color="red", back_color="black")
img.save('result/qr_color.png')
# 앞에서 생성한 qr 코드를 원하는 색상으로 지정
# img를 RGB값으로 변환
img = img.convert('RGB')
# logo 이미지 열기
logo = Image.open('호랑이이모티콘.png')
# logo 사이즈 조정
qr_width, qr_height = img.size
logo_size = int(qr_width * 0.3)
logo = logo.resize((logo_size,logo_size))
# QR코드위에 올릴 로고 이미지 파일을 불러옴.
# 로고 이미지 위치 조정 : 중앙 배치
logo_position = ((qr_width - logo_size)//2, (qr_height - logo_size)//2)
img.paste(logo, logo_position, mask=logo)
# 최종 이미지 저장
img.show()
img.save('result/qr_logo.png')
# 위치를 지정하여 logo와 qr코드를 합침
[참고자료]
https://pypi.org/project/qrcode/
'Code-note' 카테고리의 다른 글
[프로젝트] PingPong 게임 만들기 -python (8) | 2024.10.05 |
---|---|
[프로젝트] BlackJack 구현 - python (2) | 2024.10.01 |
[문제리뷰] 방문 길이-python ; (programmers/Lv2) (2) | 2024.09.10 |
[자료구조]클래스(class) 개념 이해하기 -python (2) | 2024.09.03 |
[기초문법]쓸만한 코드 LV.1-2 -python (0) | 2024.08.18 |