재우니의 블로그

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>

 

결과 화면 입니다.

 

 

아이폰이나 안드로이드 기기에 카메라를 가져다 두면 아이폰 경우는 링크주소를 보여질 때 주소 누르면 해당 사이트 주소로 이동합니다.

 

안드로이드 경우는 메시지가 뜨면서 이동 여부를 묻고 이를 승인하면 해당 사이트로 이동합니다.