FAQ TBarCode .NET
Comment contrôler la taille du code-barres ?
Comment contrôler la taille du code-barres ?
Vous pouvez choisir entre deux modes de taille :
- Mode de taille Fit to Bounding Rectangle
Le code-barres s'adapte au rectangle englobant par calcul automatique de la largeur de module. La propriété de largeur de module n'est qu'une valeur Get/Set et n'est pas mise à jour. - Mode de taille Custom Module Width
La taille du code-barres dépend de la propriété de largeur de module, définie en [mm]. Le code-barres s'adapte toujours au rectangle englobant dans la dimension où la largeur de module n'est pas pertinente (comme la hauteur dans un code linéaire).
Le rectangle englobant doit être fourni en [mm] pour les calculs de taille comme avec CalculateModuleWidth ou CalculateBarcodeSize.
Le rectangle englobant doit être fourni en [pixels] pour toute opération de dessin liée à un bitmap ou à un contexte de périphérique.
Flux de travail recommandé
Pour toute opération, définissez d'abord le rectangle, puis effectuez l'opération ou le calcul.
Il est recommandé de tout faire d'abord en [mm] et, si vous dessinez sur un bitmap, de convertir les mm en pixels en tenant aussi compte des ppp que vous avez ajustés.
- Définissez le code-barres et ses données
- Définissez le rectangle englobant en [mm], le mode de taille et, le cas échéant, la largeur de module
- Définissez les ppp le cas échéant
- Si vous utilisez une largeur de module personnalisée : effectuez les fonctions de récupération/calcul de taille (les valeurs renvoyées sont en mm). Cela est nécessaire car votre rectangle englobant peut ne pas refléter la taille réelle du code-barres.
- Si vous avez besoin d'un bitmap, convertissez la taille renvoyée en pixels et définissez le rectangle englobant en pixels
Pour créer des bitmaps où la taille du code-barres n'est pas prédéfinie par des exigences spécifiques, il existe aussi la fonction CalculateOptimalBitmapSize. Cette fonction évite les erreurs de quantification et améliore la qualité.
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);