سلام
امروز با یک آموزش کوتاه ولی کاربری در خدمت شما هستم .
خیلی وقت ها لازم میشه که در پروژه ها QR Code ایجاد کنیم و به کاربر نمایش بدیم حالا چه برای لینک ،متن و .... حالا می خوام در قالب یک آموزش کوتاه به شما بگم که چجوری این کار رو انجام بدینم.
ابتدا باید کتابخانه ZXing.Net به پروژه خودتون اضافه کنید. برای این کار کد زیر رو داخل Package Manager Console تایپ کنید.
Install-Package ZXing.Net
بعد این کار باید یک Helper ایجاد کنید. تا بعد بتونید داخل پروژه ازش استفاده کنید پیشنهاد من اینه که یک کلاس جدید داخل پروژه خودتون بسازید و کد های زیر رو داخل قرار بدین .
using System; using System.Collections.Generic; using System.Configuration; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Web; using System.Web.Mvc; using ZXing; using ZXing.Common; namespace AzadTM.ZXing.Common { public static class QRHelper { public static IHtmlString GenerateQrCode(this HtmlHelper html, string url, string alt = "QR code", int height = 500, int width = 500, int margin = 0) { var qrWriter = new BarcodeWriter(); qrWriter.Format = BarcodeFormat.QR_CODE; qrWriter.Options = new EncodingOptions() { Height = height, Width = width, Margin = margin }; using (var q = qrWriter.Write(url)) { using (var ms = new MemoryStream()) { q.Save(ms, ImageFormat.Png); var img = new TagBuilder("img"); img.Attributes.Add("src", String.Format("data:image/png;base64,{0}", Convert.ToBase64String(ms.ToArray()))); img.Attributes.Add("alt", alt); img.Attributes.Add("width", "50px"); return MvcHtmlString.Create(img.ToString(TagRenderMode.SelfClosing)); } } } } }
حالا باید بریم سراغ view که می خواییم داخلش qr رو نمایش بدین و از این helper استفاده کنید که این کار رو هم می تونید با کد زیر انجام بدین .
@Html.GenerateQrCode("http://azadtm.com")
چند تا نکته رو لازمه خدمتتون توضیح بدم شما می تونید داخل اون کلاسی که ساختیم طول و عرض تصویر کدی که قراره ساخته بشه رو هم مشخص کنید یا که این کار رو می تونید با ارسال طول و عرض به helper هم انجام بدین .
با این کد طول و عرض تصویر ساخته شده از qr ما 100 پیکسل خواهد بود.
@Html.GenerateQrCode("http://azadtm.com","alt",100,100)
قبل از استفاده از این helper باید اون رو داخل view اینپورت کنید که می تونید با قرار داد کد زیر در بالای view این کار رو انجام بدین
@using AzadTM.ZXing.Common;
امیدوارم این آموزش بتونه به پیشرفت شما کمک کنه اگر سوالی درباره این آموزش داشتید از طریق نظرات پاسخگوی شما هستم.
شاد، پیروز و سربلند باشید.