 QR코드를 만들어주는 클래스, Quricol입니다.
이전에 프로젝트에서는 상용인 dBarCode2D를 구입해서 썼는데 이건 무료로 쓸 수 있어 좋네요.
(오픈소스라고는 하는데, 핵심 코드는 dll로 구현되어 있고 그 소스는 공개되어 있지 않습니다)
컴포넌트 형태가 아니라 클래스로 구현되어 있어서 등록할 필요도 없고 그냥 유닛 uses만 해서 사용하면 됩니다.
(컴포넌트가 아니기 때문에 패키지는 필요가 없는데 dpk 패키지 프로젝트 파일이 들어있네요)
dll 이후의 델파이 코드는 단순해서 컴포넌트를 원하시는 분들은 컴포넌트로 재구현하는 것도 간단하겠군요.
클래스 형태이긴 하지만 주요 멤버들이 모두 클래스메소드로 구현되어 있어서 객체를 만들지 않고 TQRCode의 멤버를 그대로 호출하면 됩니다. 아래는 델파이 샘플입니다.
(델파이만 고려해서 만들어진 방식이라, C++빌더에서는 손을 좀 대야 사용이 가능하겠군요.)
procedure TForm3.Button1Click(Sender: TObject);
var
bmp: TBitmap;
MS: TMemoryStream;
begin
try
//Generate Windows bitmap and save to file
TQRCode.GenerateBitmapFile('devquest.bmp', 'http://blog.devquest.co.kr/imp', integer( QualityHigh));
//Generate PNG image and save to file
TQRCode.GeneratePngFile('borlandforum.png', 'http://www.borlandforum.com');
//Generate TBitmap
bmp := TQRCode.GetBitmapImage('http://www.krento.net');
bmp.SaveToFile('delphi2.bmp');
//Generate PNG to the memory stream
MS := TMemoryStream.Create;
TQRCode.GetPngStream(MS, 'http://www.krento.net');
MS.Position := 0;
MS.SaveToFile('delphi2.png');
MS.Free;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end;
출처는,
http://delphi32.blogspot.kr/search/label/Quricol
(이것도 역시 장정환님께서 알려주셨네요~)
|