QR 코드 생성기
예전에 아이폰 앱기능 중 QR Code Reader를 개발하면서, 찾게된 QR Code 생성해 주는 오픈소스 C# 라이브러리(Library)가 있어 소개 하려 한다. 이를 이용하면 손쉽게 QR 코드를 생성 할수 있다.
라이브러리 소스는 아래 링크를 클릭해서 넘어가 다운로드 소스하면 될 것이다.
Open Source QRCode Library
이 라이브러리는 .NET 2.0 윈도우 응용프로그램, ASP.NET, 윈도우 모바일 장치에서 사용할 수 있다고 한다. 여러므로 유용한 라이브러리 같다!! 난 이 라이브러리를 이용하여 간단하게 명함타입의 QR코드를 생성해주는 윈도우 응용프로그램를 만들어 보았다. 그럼 사용방법에 대해서 내가 만든 응용프로그램을 기준으로해서 알아 보겠다.
먼저 라이브러리 소스를 다운로드 받는다. 이 소스안에 샘플 코드가 있으므로, 그 걸로 명함 타입의 QR Code를 만들어도 된다. 아래 그림은 샘플소스에 들어 있는 응용 프로그램의 모습이다.
Data라는 영역에 명합타입의 포맷으로 내용을 넣어 주면 되는 것이다. 해당 포맷은 아래와 같다.
MECARD:N:Your Name;TEL:555555555;URL:www.yoursite.com;EMAIL:your_email@yoursite.com;ADR:21 Jump Street, Hollywood, CA 90027;NOTE:Some text about something;; |
MECARD로해서 이름, 연락처, 홈페이지 주소, 이메일 주소, 오프라인 주소, 메모 식으로 내용을 입력해서 만들면 된다.
MECARD에 대한 자세한 사항은 아래 링크를 참고하기 바란다. 각각의 프로퍼티(Property)에 대해서 잘 설명이 되어 있다.
(http://www.nttdocomo.co.jp/english/service/imode/make/content/barcode/function/application/addressbook/index.html)
나는 좀더 명확하게 정보를 입력할 수 있도록 아래와 같이 디자인을 변경해 보았다.
기능은 똑같고, UI만 좀더 직관적으로 변경한 것 이다. 내가 만든 샘플 프로젝트도 MECARD포맷으로 변경하도록 한다. 그런데, 이 라이브러리에는 약간의 문제가 있다. 그게 무엇인가하니, 한글 입력을 하면 문제가 생기는 것이다. 이를 수정해야 하는데, 아래 코드 처럼 인코딩을 변경해 주면 된다.
위 소스코드는 QRCodeEncoder.cs파일에 있다. 검색을 해보면 나올 것 이다. 이렇게 수정하면 한글에 대한 문제는 없을 것이다. 그럼 내가 만들 샘플 코드에서 "QRCode생성" 버튼 클릭을 하면 어떠한 처리가 되는지 살펴보자!! (UI는 윈폼 컨트롤들을 배치해서 넣은 것이므로 설명은 생략한다.)
위 코드에서도 볼 수 있듯 StringBuilder를 통해서 MECARD포맷을 만들고 있는 것을 볼 수 있을 것이다. 그리고 QRCodeEncoder의 인스턴스를 생성해서 인코딩 세팅, 이미지 사이즈 세팅, 버전 세팅, 에러 보정 레벨 세팅 등을 해서 이미지로 반환해 주는 것을 볼 수 있을 것이다. 이 처럼 정말 사용하기 쉽게해 놨다.
QR코드 버전관련과 에러 보정 레벨에 대한 자세한 내용은 아래 링크들를 확인하면 정말 많은 도움이 될 것이다. QR Code의 좀더 자세한 내용을 알고 싶으면 아래 링크를 참고 하기 바란다.
- QR Code.com
- QR Code.com 버전 결정
- Wikipedia - QR Code
웹사이트에서 QR Code를 생성해 주는 서비스도 있다.
- http://qrcode.kaywa.com/
- http://www.scany.net/kr/generator/generator.php
내가 만든 샘플 프로젝트소스와 실행파일 두개를 첨부해 두었으니, 필요하면 다운받으면 될 것 이다.
위 그림은 실행 모습입니다. 이 QR코드를 네이버앱에 QR리더기로 읽으면 아래와 같이 잘 읽어 질 것이다.