آموزش خواندن بارکد QRCode به زبان سی شارپ

در مطالب قبلی آموزش تولید و یا Encode بار کد QRCode را بصورت کامل برایتان شرح دادیم (برای مشاهده مطلب اینجا کلیک کنید)، حال در این پست قصد داریم نحوه خواندن یا Decode آن به وسیله WebCam و یا فایل تصویری بصورت حرفه ای برای شما عزیزان شرح دهیم. برای انجام این امر می بایست از کامپوننت و یا کتابخانه ZXing (که لازم به ذکر است برترین Decoder موجود برای QRCode می باشد) برای خواندن بارکد QRCode و از کتابخانه WebCamCapture برای بکار گیری وب کم در برنامه استفاده نماییم که آموزش و لینک دانلود سورس و کتابخانه در ادامه مطب قابل مشاهده است.

توضیحات:

برای خواندن بارکد از طریق WebCam باید از یک کنترل BackgroundWorker استفاده نماییم، به این دلیل که در هنگامی که وبکم روشن است، باید تصویر آن را بصورت لحظه ای دریافت و در یک MemoryStream ذخیره شده و بر روی آن پردازش شود که در این تصویر بارکدی وجود دارد و یا خیر! در صورتی که یک بارکد QRCode جلوی وبکم بگیریم، آن را سریعا تشخیض داده و در پیغامی، متن ذخیره شده در آن را نمایش می دهد. و همچنین به دلیل اینکه وبکم به صورت فریم بر فریم کار می کند ممکن است تا شما بارکد را روی آن قرار می دهید به تعداد دفعات زیادی پیغام متن بارکد را نمایش دهد، برای جلوگیری از این امر، در هر باری که بارکدی در وب کم تشخیص داده می شود، یکبار آن را خاموش و دوباره روشن می کند تا حالت Loop در آن اتفاق نیفتد.

QRCode Form

آموزش خواندن بارکد QRCode بوسیله وبکم:

ابتدا باید دو کتابخانه zxing.dll و WebCamCapture.dll را به رفرنس های پروژه خود در Visual Studio اضافه نمایید.

یک کنترل WebCam روی فرم اضافه نمایید و نام آن را WebCam بگذارید.

در قسمت Form_Load کد زیر را بنویسید: (برای روشن کردن وب کم – استفاده از BackgroundWorker – تعیین سایز تصویر)

حال کد های مربوط به عملیات (DoWork و RunWorkerCompleted) کنترل BackgroundWorker را به بخش کد ها اضافه نمایید:

تمامی کد های بالا برای خواندن بارکد QRCode از طریق وبکم بود، برای خواندن بارکد از طریق فایل تصویری یا عکس یک کنترل Button در فرم اضافه کرده و در بخش کد Click آن کد زیر را بنویسید:

با استفاده از کد بالا یک دیالوگ OpenFileDialog نمایش داده می شود و ورودی عکس با فرمت PNG – JPG – GIF – BMP میگیرد، آن را با به Bitmap تبدیل می کند (به این دلیل که ورودی تابع BarcodeReader فقط Bitmap می تواند باشد) و آن را توسط BarcodeReader دیکد کرده و در صورتی که محتوای آن خالی نباشد، آن را بصورت یک MessageBox نمایش می دهد.

به همین سادگی! از برنامتون لذت ببرید.


سایت رسمی ZXing: کلیک کنید

ZXing در CodePlex: کلیک کنید

ZXing در GitHub: کلیک کنید

 

در صورت وجود هرگونه سوال و مشکل می توانید آن را در بخش نظرات، فرم تماس با ما و یا از طریق ارسال ایمیل شخصی بیان کنید.

 

دانلود سورس و کتابخانه: حجم 256 کلیوبایت | لینک مستقیم

دانلود

    پاسخگو
    الهه در چهارشنبه ۰۸ بهمن ۱۳۹۳ :

    سلام. لطفا رمز فایل رو بگید نمی تونم کامل لذت ببرم. ممنون

    پاسخگو
    میلان در سه شنبه ۱۱ فروردین ۱۳۹۴ :

    ضمن تشکر از زحمات نویسنده محترم مقاله
    پسورد فایل بصورت زیر میباشد:
    developersian.com

    پاسخگو
    سمیرا در شنبه ۱۶ مرداد ۱۳۹۵ :

    با سلام من میخوام از این برنامه استفاده کنم اما نمیدونم چطوری باید از کنترل web cam استفاده کنم آخه تو لیست toolbox نیست ممنون میشم راهنمایی کنین