خواندن بارکد از تصویر در C#

آیا به دنبال راهی برای خواندن بارکدها یا کدهای QR از تصاویر به صورت برنامه‌نویسی هستید؟ اگر شما یک توسعه‌دهنده هستید و نیاز دارید که خودتان یک برنامه خواننده بارکد ایجاد کنید، به جای درستی آمده‌اید. بارکدها برای پیگیری دقیق موجودی و تحویل محصولات از تولید به نقطه فروش بسیار حیاتی هستند. ما می‌توانیم به راحتی انواع مختلف بارکدها و کدهای QR را در برنامه‌های .NET تشخیص دهیم، شناسایی کنیم و بخوانیم. در این مقاله، به شما نشان خواهیم داد چگونه بارکد را از یک تصویر در C# بخوانید و فقط با چند مرحله ساده این کار را انجام دهید. شما می‌توانید از این مقاله به عنوان یک راهنمای مرحله به مرحله برای توسعه برنامه‌های خواننده یا اسکنر بارکد استفاده کنید.

ابتدا، نگاهی به API خواننده بارکد C# خواهیم داشت تا بارکدهای موجود در تصویر ورودی را بخوانیم. سپس، مراحل تشخیص، شناسایی و استخراج داده‌های بارکد از تصویر را بررسی خواهیم کرد. شما مراحل دقیق و کدهای نمونه را خواهید یافت. در نهایت، لینک‌های مفیدی برای بهبودهای بیشتر ارائه خواهیم داد. پس بیایید شروع کنیم!

موضوعات زیر در این مقاله پوشش داده خواهد شد:

  1. API C# برای خواندن بارکد از تصویر
  2. مراحل خواندن بارکد از یک تصویر
  3. خواندن بارکد از Bitmap
  4. خواندن بارکد از تصویر با استفاده از Stream
  5. چگونه بارکد نوع خاصی را بخوانیم
  6. خواندن بارکدهای چند نوع از یک تصویر
  7. تشخیص و خواندن مجموعه‌های از پیش تعریف شده سمبولوژی‌ها
  8. تشخیص و خواندن چندین بارکد از یک تصویر
  9. دریافت مختصات X و Y بارکد
  10. خواندن بارکد از منطقه خاصی از تصویر
  11. خواندن بارکد از چندین منطقه تصویر

API C# برای خواندن بارکد از تصویر

برای خواندن بارکد از یک تصویر، ما از Aspose.BarCode برای .NET API استفاده خواهیم کرد. این API امکان تولید، اسکن و خواندن طیف وسیعی از سمبولوژی‌های بارکد را فراهم می‌کند. این API امکان رندر کردن تصاویر بارکد در فرمت‌های JPEG، TIFF، PNG، BMP و GIF را می‌دهد.

این API کلاس BarCodeReader را ارائه می‌دهد که امکان شناسایی بیش از 60 نوع مختلف بارکد را از تصاویر داده شده فراهم می‌کند. اولین مرحله در تشخیص بارکدها مشخص کردن منبع تصویر با بارکدها است. این می‌تواند یک فایل، یک شی bitmap یا یک جریان باشد. سپس لازم است سمبولوژی‌های هدف را در پارامتر DecodeType مشخص کنید. ما می‌توانیم با مشخص کردن DecodeType.AllSupportedTypes به تمام انواع مختلف سمبولوژی‌های پشتیبانی شده نگاه کنیم. روش ReadBarCodes() این کلاس یک آرایه از بارکدهای شناسایی شده را برمی‌گرداند. کلاس BarCodeResult API داده‌های بارکد شناسایی شده شامل نوع بارکد، متن کد، ناحیه و سایر پارامترها را ذخیره می‌کند.

API همچنین امکان مشخص کردن نواحی یک تصویر که خواننده بارکد باید بخواند را فراهم می‌کند. این کار می‌تواند با استفاده از یک شی مستطیل .NET انجام شود و نیاز به جستجوی بارکدها در نواحی تصویر که به طور پیش‌فرض فاقد بارکد هستند را حذف می‌کند.

لطفاً DLL این API را دانلود کنید یا آن را با استفاده از NuGet نصب کنید.

PM> Install-Package Aspose.BarCode 

خواندن بارکد از یک تصویر با استفاده از C#

ما می‌توانیم به راحتی یک بارکد را از یک تصویر با دنبال کردن مراحل زیر بخوانیم:

  1. ابتدا، یک تصویر را با استفاده از کلاس BarCodeReader بارگذاری کنید.
  2. متد readBarCodes() را فراخوانی کنید و نتایج شناسایی را در شی کلاس BarCodeResult بگیرید.
  3. در نهایت، در نتایج حلقه بزنید و نوع و متن بارکد را نمایش دهید.

نمونه کد زیر نشان می‌دهد چگونه یک بارکد را از یک تصویر در C# بخوانیم.

خواندن بارکد از یک تصویر.

خواندن بارکد از یک تصویر در C#.

خواندن بارکد از Bitmap در C#

ما می‌توانیم به راحتی یک بارکد را از یک تصویر با دنبال کردن مراحل زیر بخوانیم:

  1. ابتدا، یک تصویر را با استفاده از کلاس Bitmap بارگذاری کنید.
  2. سپس، یک نمونه از کلاس BarCodeReader با شی Bitmap ایجاد کنید.
  3. متد ReadBarCodes() را فراخوانی کنید و نتایج شناسایی را در شی کلاس BarCodeResult بگیرید.
  4. در نهایت، در نتایج حلقه بزنید و نوع و متن بارکد را نمایش دهید.

نمونه کد زیر نشان می‌دهد چگونه یک بارکد را از bitmap در C# بخوانیم.

خواندن بارکد از تصویر Bitmap در C#.

خواندن بارکد از Bitmap در C#.

خواندن بارکد از تصویر با استفاده از Stream در C#

ما همچنین می‌توانیم تصویر بارکد را با استفاده از یک جریان فایل بارگذاری کنیم و بارکد را با دنبال کردن مراحل زیر بخوانیم:

  1. ابتدا، یک تصویر را با استفاده از کلاس FileStream بارگذاری کنید.
  2. سپس، یک نمونه از کلاس BarCodeReader با شی جریان ایجاد کنید.
  3. متد ReadBarCodes() را فراخوانی کنید و نتایج شناسایی را در شی کلاس BarCodeResult بگیرید.
  4. در نهایت، در نتایج حلقه بزنید و نوع و متن بارکد را نمایش دهید.

نمونه کد زیر نشان می‌دهد چگونه یک بارکد را از تصویر با استفاده از Stream در C# بخوانیم.

خواندن بارکد نوع خاص از تصویر در C#

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

ما می‌توانیم نوع بارکد هدف را مشخص کنیم و بارکد را از یک تصویر با دنبال کردن مراحل زیر بخوانیم:

  1. ابتدا، یک تصویر را با استفاده از کلاس BarCodeReader بارگذاری کنید.
  2. سپس، نوع رمزگشایی بارکد را تنظیم کنید، مانند Code39Standard.
  3. بعد از آن، نتایج شناسایی را در شی کلاس BarCodeResult با استفاده از متد ReadBarCodes() بگیرید.
  4. در نهایت، در نتایج حلقه بزنید و نوع و متن بارکد را نمایش دهید.

نمونه کد زیر نشان می‌دهد چگونه یک بارکد نوع خاص را از یک تصویر با استفاده از C# بخوانیم.

شناسایی بارکد نوع خاص از تصویر

شناسایی بارکد نوع خاص از تصویر در C#.

خواندن بارکد از چند نوع از تصویر در C#

ما همچنین می‌توانیم چندین نوع بارکد را با دنبال کردن مراحل زیر مشخص کنیم:

  1. ابتدا، یک تصویر را با استفاده از کلاس BarCodeReader بارگذاری کنید.
  2. سپس، انواع رمزگشایی بارکد را با استفاده از متد SetBarCodeReadType() تنظیم کنید.
  3. بعد از آن، نتایج شناسایی را در شی کلاس BarCodeResult با استفاده از متد ReadBarCodes() بگیرید.
  4. در نهایت، در نتایج حلقه بزنید و نوع و متن بارکد را نمایش دهید.

نمونه کد زیر نشان می‌دهد چگونه بارکدهای چند نوع را از یک تصویر با استفاده از C# بخوانیم.

خواندن بارکدهای چند نوع از تصویر در C#

خواندن بارکدهای چند نوع از تصویر در C#

ما همچنین می‌توانیم چندین نوع رمزگشایی را در سازنده کلاس BarCodeReader به صورت زیر مشخص کنیم:

BarCodeReader reader = new BarCodeReader("C:\\Files\\BarCode\\Code39Standard.jpg", DecodeType.DataMatrix, DecodeType.QR, DecodeType.Code39Extended);

خواندن مجموعه تعریف شده‌ای از انواع بارکد از تصویر در C#

ما می‌توانیم یک مجموعه از پیش تعریف شده از سمبولوژی‌ها برای شناسایی را که در کلاس DecodeTypes تعریف شده است، بخوانیم. ما می‌توانیم هر یک از مجموعه‌های زیر را تنظیم کنیم:

  • AllSupportedTypes - تمام انواع بارکد پشتیبانی شده
  • Types1D - تمام سمبولوژی‌های 1D پشتیبانی شده
  • Types2D - تمام سمبولوژی‌های 2D پشتیبانی شده
  • PostalTypes - تمام سمبولوژی‌های پستی پشتیبانی شده که عمدتاً توسط خدمات پستی استفاده می‌شود
  • MostCommonTypes - مجموعه‌ای از استانداردهای بارکد که بیشتر استفاده می‌شوند

ما می‌توانیم یک مجموعه تعریف شده را با دنبال کردن مراحل زیر مشخص کنیم:

  1. ابتدا، یک تصویر را با استفاده از کلاس BarCodeReader بارگذاری کنید.
  2. سپس، نوع رمزگشایی بارکد را در سازنده BarCodeReader یا متد SetBarCodeReadType تنظیم کنید، مانند DecodeType.Types2D.
  3. بعد از آن، نتایج شناسایی را در شی کلاس BarCodeResult با استفاده از متد ReadBarCodes() بگیرید.
  4. در نهایت، در نتایج حلقه بزنید و نوع و متن بارکد را نمایش دهید.

نمونه کد زیر نشان می‌دهد چگونه یک بارکد را با استفاده از مجموعه‌ای از سمبولوژی‌ها در C# بخوانیم.

خواندن مجموعه تعریف شده‌ای از انواع بارکد از تصویر در C#

خواندن مجموعه تعریف شده‌ای از انواع بارکد از تصویر در C#

خواندن چندین بارکد از تصویر در C#

ما همچنین می‌توانیم تمام بارکدهای موجود در یک تصویر را با دنبال کردن مراحل زیر بخوانیم:

  1. ابتدا، یک تصویر را با استفاده از کلاس BarCodeReader بارگذاری کنید.
  2. سپس، نوع رمزگشایی بارکد را به ALL_SUPPORTED_TYPES تنظیم کنید.
  3. بعد از آن، نتایج شناسایی را در شی کلاس BarCodeResult با استفاده از متد ReadBarCodes() بگیرید.
  4. در نهایت، در نتایج حلقه بزنید و نوع و متن بارکد را نمایش دهید.

نمونه کد زیر نشان می‌دهد چگونه چندین بارکد را از یک تصویر با استفاده از C# بخوانیم.

خواندن چندین بارکد از تصویر.

خواندن چندین بارکد از یک تصویر.

دریافت مختصات X و Y بارکد با استفاده از C#

ما می‌توانیم مختصات X و Y بارکد تشخیص داده شده را از یک تصویر با دنبال کردن مراحل زیر بخوانیم:

  1. ابتدا، یک تصویر را با استفاده از کلاس BarCodeReader بارگذاری کنید.
  2. سپس، نتایج شناسایی را در شی کلاس BarCodeResult با استفاده از متد ReadBarCodes() بگیرید.
  3. سپس، در نتایج حلقه بزنید و بررسی کنید که آیا Region نال نیست.
  4. بعد از آن، آرایه نقاط که منطقه بارکد را محصور می‌کند با استفاده از Points بگیرید.
  5. در نهایت، نقاط X و Y بارکد را نمایش دهید.

نمونه کد زیر نشان می‌دهد چگونه نقاط مختصات X و Y یک بارکد را از یک تصویر با استفاده از C# بگیریم.

دریافت مختصات X و Y بارکد

دریافت مختصات X و Y یک بارکد از یک تصویر.

خواندن بارکد از منطقه خاصی از تصویر در C#

ما می‌توانیم یک بارکد را از یک منطقه خاص یا ناحیه‌ای از یک تصویر با دنبال کردن مراحل زیر بخوانیم:

  1. ابتدا، داده‌های بافر یک فایل تصویر را با استفاده از متد Bitmap بخوانید.
  2. سپس، یک نمونه از کلاس BarCodeReader ایجاد کنید. این کلاس یک تصویر، یک ناحیه مستطیل و یک نوع رمزگشایی به عنوان آرگومان می‌گیرد.
  3. بعد از آن، نتایج شناسایی را در شی کلاس BarCodeResult با استفاده از متد ReadBarCodes() بگیرید.
  4. در نهایت، در نتایج حلقه بزنید و نوع و متن بارکد را نمایش دهید.

نمونه کد زیر نشان می‌دهد چگونه یک بارکد را از یک منطقه خاص از تصویر با استفاده از C# بخوانیم.

خواندن بارکد از منطقه خاص تصویر.

خواندن بارکدها از یک منطقه خاص از یک تصویر در C#.

خواندن بارکد از چندین منطقه تصویر در C#

ما همچنین می‌توانیم بارکد را از چندین منطقه تصویر با دنبال کردن مراحل زیر بخوانیم:

  1. ابتدا، یک تصویر را با استفاده از کلاس Bitmap بارگذاری کنید.
  2. سپس، مستطیل‌ها را با استفاده از کلاس Rectangle تعریف کنید.
  3. سپس، یک نمونه از کلاس BarCodeReader ایجاد کنید.
  4. در همین حال، متد SetBarCodeImage() را با یک شی تصویر و مستطیل‌ها به عنوان آرگومان‌ها فراخوانی کنید.
  5. به صورت اختیاری، انواع خواندن بارکد را با استفاده از متد SetBarCodeReadType() تنظیم کنید.
  6. بعد از آن، نتایج شناسایی را در شی کلاس BarCodeResult با استفاده از متد ReadBarCodes() بگیرید.
  7. در نهایت، در نتایج حلقه بزنید و نوع و متن بارکد را نمایش دهید.

نمونه کد زیر نشان می‌دهد چگونه یک بارکد را از چندین منطقه تصویر با استفاده از C# بخوانیم.

خواندن بارکد از چندین منطقه تصویر.

خواندن بارکدها از مناطق متعدد یک تصویر در C#.

دریافت مجوز رایگان

شما می‌توانید یک مجوز موقت رایگان برای آزمایش کتابخانه بدون محدودیت‌های ارزیابی دریافت کنید.

نتیجه‌گیری

در این مقاله، ما یاد گرفتیم که چگونه:

  • فایل تصویر بارکد را بارگذاری کنیم؛
  • تصاویر را به عنوان bitmap یا با استفاده از جریان فایل بخوانیم؛
  • بارکدهای انواع مختلف را از یک تصویر شناسایی کنیم؛
  • مختصات بارکد را بخوانیم؛
  • چندین بارکد را از یک تصویر واحد تشخیص و بخوانیم؛
  • بارکدها را از یک منطقه خاص از تصویر تشخیص و بخوانیم.

علاوه بر خواندن بارکد از یک تصویر در C#، می‌توانید بیشتر درباره Aspose.BarCode برای .NET API با استفاده از مستندات یاد بگیرید. در صورت وجود هرگونه ابهام، لطفاً با ما در فروم پشتیبانی رایگان تماس بگیرید.

همچنین ببینید