Cómo definir la región de cultivo del código de barras para una lectura más rápida

Hairil Hasyimi Bin Omar
Hairil Hasyimi Bin Omar
7 de noviembre, 2023
Actualizado 10 de diciembre, 2024
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Una de las características más importantes de IronBarcode es la capacidad de los usuarios para especificar regiones de recorte. El objetivo de esta función es permitir que IronBarcode lea solo códigos de barras específicos o el área especificada por la Región de Recorte en la imagen usando el objeto IronSoftware.Drawing.Rectangle. El uso de esta función no sólo reducirá los errores de lectura, sino que también mejorará el rendimiento de la lectura.

Empezar a utilizar IronBarcode

Comience a usar IronBarcode en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer


Buscar las coordenadas y el tamaño de la región de recorte en una imagen

Existen muchas formas de encontrar las coordenadas de un punto en una imagen. Una de ellas es cargar la imagen utilizando la aplicación 'Paint' en el ordenador. Para obtener la primera coordenada de la región de recorte, mueva el cursor al lugar preferido que será la esquina superior izquierda del Rectangle y tome la coordenada x,y proporcionada por la aplicación en la parte inferior izquierda de la pantalla. A continuación, localiza el segundo punto que será la esquina inferior derecha del Rectangle. Consulte la imagen siguiente para comprenderlo mejor.

Referencia de CropRegion

Los valores de coordenadas pueden usarse como propiedades para el objeto Rectangle. El ancho del objeto se puede definir como x2 - x1 mientras que la altura se puede definir como y2 - y1.

:path=/static-assets/barcode/content-code-examples/how-to/set-crop-region-instantiate-CropRegion.cs
using IronBarCode;

int x1 = 62;
int y1 = 29;
int x2 = 345;
int y2 = 522;

IronSoftware.Drawing.Rectangle crop1 = new IronSoftware.Drawing.Rectangle(x: x1, y: y1, width: x2-x1, height: y2-y1);
Imports IronBarCode

Private x1 As Integer = 62
Private y1 As Integer = 29
Private x2 As Integer = 345
Private y2 As Integer = 522

Private crop1 As New IronSoftware.Drawing.Rectangle(x:= x1, y:= y1, width:= x2-x1, height:= y2-y1)
$vbLabelText   $csharpLabel

Aplicar CropRegion y leer código de barras

Una vez que hayamos hecho el arduo trabajo de definir las CropRegions donde queremos que IronBarcode lea, podemos aplicar el objeto en BarcodeReaderOptions como una de las propiedades además de otras configuraciones, las cuales luego pueden usarse como un parámetro en el método BarcodeReader.Read(). El siguiente fragmento de código muestra

:path=/static-assets/barcode/content-code-examples/how-to/set-crop-region-apply-CropRegion.cs
using IronBarCode;
using System;

int x1 = 62;
int y1 = 29;
int x2 = 345;
int y2 = 522;

IronSoftware.Drawing.Rectangle crop1 = new IronSoftware.Drawing.Rectangle(x: x1, y: y1, width: x2 - x1, height: y2 - y1);

BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    CropArea = crop1
};

var result = BarcodeReader.Read("sample.png", options);
foreach (var item in result)
{
    Console.WriteLine(item.Value);
}
Imports IronBarCode
Imports System

Private x1 As Integer = 62
Private y1 As Integer = 29
Private x2 As Integer = 345
Private y2 As Integer = 522

Private crop1 As New IronSoftware.Drawing.Rectangle(x:= x1, y:= y1, width:= x2 - x1, height:= y2 - y1)

Private options As New BarcodeReaderOptions() With {.CropArea = crop1}

Private result = BarcodeReader.Read("sample.png", options)
For Each item In result
	Console.WriteLine(item.Value)
Next item
$vbLabelText   $csharpLabel

En el fragmento de código anterior, utilizamos la instancia de Rectangle en el objeto BarcodeReaderOptions como la propiedad CropArea. A continuación, utilizamos este objeto BarcodeReaderOptions como parámetro en el método BarcodeReader.Read() para aplicar el CropArea en la imagen y leer los códigos de barras en su interior.

Hairil Hasyimi Bin Omar
Ingeniero de software
Como todos los grandes ingenieros, Hairil es un ávido aprendiz. Está perfeccionando sus conocimientos de C#, Python y Java, y los utiliza para añadir valor a los miembros del equipo de Iron Software. Hairil se unió al equipo de Iron Software desde la Universiti Teknologi MARA de Malasia, donde se licenció en Ingeniería Química y de Procesos.