Hello, I have problem. I want make barcode image with size 40mm x 18mm, but real size 35mm x 14mm.
//e.Graphics.DpiX = 600
//e.Graphics.DpiY = 600
//width=40
//height=18
private void PrintOnPrinter(PrintPageEventArgs e)
{
Bitmap bitmap = MakeBarcodeImage(code, e.Graphics.DpiX, e.Graphics.DpiY, width, height, vertical);
e.Graphics.PageUnit = System.Drawing.GraphicsUnit.Inch;
e.Graphics.DrawImage(bitmap, ConvertInchToSm.FromMmToInches(left), ConvertInchToSm.FromMmToInches(top));
}
private Bitmap MakeBarcodeImage(string code, float dpiX, float dpiY, float? width, float? height, bool vertical)
{
BarCodeBuilder builder = new BarCodeBuilder(code, Symbology.EAN13);
builder.GraphicsUnit = GraphicsUnit.Inch;
builder.Resolution = new Resolution(dpiX, dpiY, ResolutionMode.Customized);
builder.Margins.Bottom = 0;
builder.Margins.Right = 0;
builder.Margins.Top = 0;
builder.Margins.Left = 0;
builder.BorderVisible = false;
builder.BorderWidth = 0;
if (vertical)
builder.RotationAngleF = 90;
builder.AutoSize = !height.HasValue || !width.HasValue;
if (height.HasValue)
{
builder.ImageHeight = height.Value / 25.4f;
builder.BarHeight = height.Value / 25.4f;
}
if (width.HasValue)
{
builder.xDimension = width.Value / 25.4f / 95f;
builder.ImageWidth = width.Value / 25.4f;
}
return builder.GenerateBarCodeImage();
}