= Barcodes =
== ZXing.net ==
* Add to project using NuGet. From the Package Manager Console: ''Install-Package ZXing.Net''
Use as follows:
using System.Windows.Media.Imaging; // For BitmapSource, PngBitmapEncoder
using ZXing;
using BarcodeWriter = ZXing.Presentation.BarcodeWriter;
using BarcodeWriterGeometry = ZXing.Presentation.BarcodeWriterGeometry;
...
public static void CreateBarcode()
{
var writer = new BarcodeWriter
{
Format = BarcodeFormat.CODE_39,
Options = new ZXing.Common.EncodingOptions { Height = 50, Width = 200, Margin = 0, PureBarcode = false }
};
WriteableBitmap wbBarcode = writer.Write("13-123456");
SaveToPng(wbBarcode.Clone(), System.IO.Path.Combine(System.IO.Path.GetTempPath(), "barcode.png"));
}
///----------------------------------------------------------------------------------------
private static void SaveToPng(BitmapSource imgSource, string dstFilename)
{
if (dstFilename != string.Empty)
{
using (System.IO.FileStream streamDstImage = new System.IO.FileStream(
dstFilename, System.IO.FileMode.Create))
{
PngBitmapEncoder encDstImage = new PngBitmapEncoder();
encDstImage.Frames.Add(BitmapFrame.Create(imgSource));
encDstImage.Save(streamDstImage);
streamDstImage.Close();
}
}
}
== BarcodeLib ==
* Add to project using NuGet. From the Package Manager Console: ''Install-Package BarcodeLib''
Use as follows:
public static void CreateBarcode()
{
BarcodeLib.Barcode barcode = new BarcodeLib.Barcode()
{
IncludeLabel = true,
Alignment = BarcodeLib.AlignmentPositions.CENTER,
Width = 200,
Height = 50,
RotateFlipType = System.Drawing.RotateFlipType.RotateNoneFlipNone,
BackColor = System.Drawing.Color.White,
ForeColor = System.Drawing.Color.Black,
};
System.Drawing.Image img = barcode.Encode(BarcodeLib.TYPE.CODE128B, "13-123456");
img.Save(System.IO.Path.Combine(System.IO.Path.GetTempPath(), "barcode.png"));
}