FAQ TBarCode .NET
Comment contrôler la transparence du bitmap
Comment contrôler la transparence du bitmap
Lors de la création d'un code-barres au format bitmap, il existe deux possibilités pour ajuster l'arrière-plan :
- IsBackgroundTransparent = TRUE → lors du dessin du code-barres (DC, Graphics, Bitmap), seules les barres sont dessinées, le reste reste libre
- IsBackgroundTransparent = FALSE → lors du dessin du code-barres (DC, Graphics, Bitmap), l'arrière-plan est d'abord rempli, puis les barres sont dessinées
Flux de travail recommandé
Si vous souhaitez créer un code-barres bitmap avec un arrière-plan transparent, vous devez définir la couleur de transparence séparément. Pour ce faire, dessinez d'abord dans un bitmap, définissez la transparence, puis enregistrez-le. Essayez l'une des deux options suivantes :
Option n° 1
Dessinez le code-barres avec un arrière-plan blanc :
- IsBackgroundTransparent := FALSE (→ la bibliothèque de codes-barres dessine un arrière-plan blanc)
Spécifiez la couleur de transparence :
- bitmap.MakeTransparent( Color.White ); //make be background transparent - this will be an index (rather than an alpha) transparency
Exemple de code en C# :
Barcode BC = new Barcode();
int width = 300;
int height = 150;
BC.BarcodeType = BarcodeType.Code128;
BC.Data = "12345";
BC.IsBackgroundTransparent = false;
BC.BoundingRectangle = new Rectangle(0, 0, width, height); // Pixel
Bitmap bitmap = new Bitmap(width, height);
Graphics gfx = Graphics.FromImage(bitmap);
BC.Draw(gfx);
bitmap.MakeTransparent(Color.White);
bitmap.Save("c:\\temp\\test1a.png", System.Drawing.Imaging.ImageFormat.Png);
Variante sans objet graphique :
Barcode BC = new Barcode();
int width = 300;
int height = 150;
BC.BarcodeType = BarcodeType.Code128;
BC.Data = "12345";
BC.IsBackgroundTransparent = false;
BC.BoundingRectangle = new Rectangle(0, 0, width, height); // Pixel
Bitmap bitmap = BC.DrawBitmap();
bitmap.MakeTransparent(Color.White);
bitmap.Save("c:\\temp\\test1b.png", System.Drawing.Imaging.ImageFormat.Png);
Option n° 2
Dessinez le code-barres sans arrière-plan :
- IsBackgroundTransparent := FALSE (→ la bibliothèque de codes-barres dessine un arrière-plan blanc)
Remplissez l'arrière-plan avec de la transparence :
- gfx.Clear(Color.Transparent);
Exemple de code en C# :
Barcode BC = new Barcode();
int width = 300;
int height = 150;
BC.BarcodeType = BarcodeType.Code128;
BC.Data = "12345";
BC.IsBackgroundTransparent = true;
BC.BoundingRectangle = new Rectangle(0, 0, width, height); // Pixel
Bitmap bitmap = new Bitmap(width, height);
Graphics gfx = Graphics.FromImage(bitmap);
gfx.Clear(Color.Transparent);
gfx.Flush();
BC.Draw(gfx);
bitmap.Save("c:\\temp\\test2.png", System.Drawing.Imaging.ImageFormat.Png);
Remarques
- Veuillez noter que le code-barres d'exemple n'est pas optimisé pour les pixels.
- Nous recommandons d'utiliser des images PNG.
- Plus d'informations sur la transparence sont disponibles ici.