Preguntas frecuentes sobre TBarCode .NET
¿Cómo puedo controlar el tamaño del código de barras?
¿Cómo puedo controlar el tamaño del código de barras?
Puede elegir entre dos modos de tamaño:
- Modo de tamaño Fit to Bounding Rectangle
El código de barras se adapta al rectángulo delimitador mediante el cálculo automático del ancho de módulo. La propiedad de ancho de módulo es solo un valor de lectura/escritura y no se actualiza. - Modo de tamaño Custom Module Width
El tamaño del código de barras depende de la propiedad de ancho de módulo, que se establece en [mm]. El código de barras sigue adaptándose al rectángulo delimitador en la dimensión donde el ancho de módulo no es relevante (como la altura en un código lineal).
El rectángulo delimitador debe proporcionarse en [mm] para realizar cálculos de tamaño como con CalculateModuleWidth o CalculateBarcodeSize.
El rectángulo delimitador debe proporcionarse en [píxeles] para cualquier operación de dibujo relacionada con un mapa de bits o un contexto de dispositivo.
Flujo de trabajo recomendado
Para cualquier operación, primero establezca el rectángulo y después realice la operación o el cálculo.
Se recomienda hacer todo primero en [mm] y, si dibuja en un mapa de bits, convertir los mm a píxeles teniendo también en cuenta el DPI que haya ajustado.
- Establezca el código de barras y sus datos
- Establezca el rectángulo delimitador en [mm], el modo de tamaño y, si procede, el ancho de módulo
- Establezca el DPI si procede
- Si usa un ancho de módulo personalizado: ejecute las funciones de obtención/cálculo de tamaño (los valores devueltos están en mm). Esto es necesario porque su rectángulo delimitador puede no reflejar el tamaño real del código de barras.
- Si necesita un mapa de bits, convierta el tamaño devuelto a píxeles y establezca el rectángulo delimitador en píxeles
Para crear mapas de bits donde el tamaño del código de barras no está predefinido por ningún requisito específico, también existe la función CalculateOptimalBitmapSize. Esta función evita errores de cuantización y mejora la calidad.
barcode.Dpi = 100; barcode.SizeMode = SizeMode.FitToBoundingRectangle; Size optimalSize = barcode.CalculateOptimalBitmapSize(null, 1, 1); // 1 Module = 1 Pixel barcode.BoundingRectangle = new Rectangle(0, 0, optimalSize.Width, optimalSize.Height); barcode.Draw(filename, ImageType.Jpg);