ASP.NET MVC 에서 ZXing.Net 활용하여 QR CODE 생성하기
nuget 을 통해 ZXing.Net 을 다운로드 받습니다.
사용할 Controller 에 아래와 같이 QR CODE 를 생성할 부분을 기술합니다.
Width 는 넓이 사이즈, Height 는 높이 사이즈를 기재하며, Write() 함수를 통해 전송할 사이트 주소를 기재합니다.
public byte[] ConvertToByteArray(Image img)
{
using (var stream = new MemoryStream())
{
img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
return stream.ToArray();
}
}
public ActionResult GenerateQrCode()
{
ZXing.BarcodeWriter barcodeWriter = new ZXing.BarcodeWriter();
barcodeWriter.Format = ZXing.BarcodeFormat.QR_CODE;
barcodeWriter.Options.Width = 800;
barcodeWriter.Options.Height = 800;
string strQRCode = "https://working.univ.me/Home?p=luckshim";//파라미터 전송할 주소(암호화 하는게 좋을듯..)
var qrCodeImage = barcodeWriter.Write(strQRCode);
byte[] byteArray = ConvertToByteArray(qrCodeImage);
return File(byteArray, "image/jpeg");
}
이를 View 에 랜더링 합니다.
<section>
<div class="container">
<img src="@Url.Action("GenerateQrCode")" alt="qr code" />
</div>
</section>
결과 화면 입니다.
아이폰이나 안드로이드 기기에 카메라를 가져다 두면 아이폰 경우는 링크주소를 보여질 때 주소 누르면 해당 사이트 주소로 이동합니다.
안드로이드 경우는 메시지가 뜨면서 이동 여부를 묻고 이를 승인하면 해당 사이트로 이동합니다.