分享

Barcode Professional for ASP.NET使用教程:指定区域条码的显示

 金长馆huidu 2015-11-20

需求:

由于条件的限制,条码显示位置有限,那么就需要懂得规定的区域内显示条码方法。今天将给大家简单介绍如何在规定区域内显示条码。

【Barcode Professional for ASP.NET下载】

我们知道在Barcode Professional有GetBarcodeImage()方法,而这种方法可以通过barsAreaSizeInInches参数实现规定区域内条码的显示。现在我们需注意以下三点:

  • 规定区域的尺寸位置(条码宽和高)
  • 规定目标区域的宽(包括条码加上左右Quiet Zones 区域的宽)
  • 规定目标区域的高(条码栏高度)

假定:编码的数据是1234567890,使用128代码,以300DPI呈现,可供条码显示的位置面积是1*0.5英寸.

参考代码:

VB

Private Sub SaveBarcode()
'Create a Barcode Professional object
Dim bcp As New Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional()
'Set the barcode symbology to Code 128
bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128
'Set the value to encode
bcp.Code = "1234567890"
'Barcode dimensions settings
bcp.BarHeight = 1.0F
bcp.BarWidth = 0.01F
'Resolution
Dim dpi As Single = 300.0F
'Target size in inches
Dim targetArea As New System.Drawing.SizeF(1.0F, 0.5F)
'Get the barcode image fitting the target area
Dim imgBarcode As System.Drawing.Image = bcp.GetBarcodeImage(dpi, targetArea)
'Save it on disk in PNG format
imgBarcode.Save("C:\temp\barcode128.png", System.Drawing.Imaging.ImageFormat.Png)
imgBarcode.Dispose()
End Sub

C#

private void SaveBarcode()
{
//Create a Barcode Professional object
Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional bcp = new Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional();
//Set the barcode symbology to Code 128
bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128;
//Set the value to encode
bcp.Code = "1234567890";
//Barcode dimensions settings
bcp.BarHeight = 1.0f;
bcp.BarWidth = 0.01f;
//Resolution
float dpi = 300.0f;
//Target size in inches
System.Drawing.SizeF targetArea = new System.Drawing.SizeF(1.0f, 0.5f);
//Get the barcode image fitting the target area
System.Drawing.Image imgBarcode = bcp.GetBarcodeImage(dpi, targetArea);
//Save it on disk in PNG format
imgBarcode.Save(@"C:\temp\barcode128.png", System.Drawing.Imaging.ImageFormat.Png);
imgBarcode.Dispose();
}

需要注意的是目标宽度是整个条码栏宽度加上左右两边的Quiet Zones (QuietZoneWidth属性 ),然而目标区域高度仅仅只是条码栏的高度,可参考下图(前面代码生成)。

figure

如果只想条码布满整个目标区域,需要将QuietZoneWidth属性设置为0(即除去左右两边的边距)DisplayCode属性设置为False(即隐藏可读文本),可参考下列代码

VB

Private Sub SaveBarcode()
'Create a Barcode Professional object
Dim bcp As New Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional()
'Set the barcode symbology to Code 128
bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128
'Set the value to encode
bcp.Code = "1234567890"
'Barcode dimensions settings
bcp.BarHeight = 1.0F
bcp.BarWidth = 0.01F
bcp.QuietZoneWidth = 0
bcp.DisplayCode = False
'Resolution
Dim dpi As Single = 300.0F
'Target size in inches
Dim targetArea As New System.Drawing.SizeF(1.0F, 0.5F)
'Get the barcode image fitting the target area
Dim imgBarcode As System.Drawing.Image = bcp.GetBarcodeImage(dpi, targetArea)
'Save it on disk in PNG format
imgBarcode.Save("C:\temp\barcode128_full.png", System.Drawing.Imaging.ImageFormat.Png)
imgBarcode.Dispose()
End Sub

C#

private void SaveBarcode()
{
//Create a Barcode Professional object
Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional bcp = new Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional();
//Set the barcode symbology to Code 128
bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128;
//Set the value to encode
bcp.Code = "1234567890";
//Barcode dimensions settings
bcp.BarHeight = 1.0f;
bcp.BarWidth = 0.01f;
bcp.QuietZoneWidth = 0;
bcp.DisplayCode = false;
//Resolution
float dpi = 300.0f;
//Target size in inches
SizeF targetArea = new System.Drawing.SizeF(1.0f, 0.5f);
//Get the barcode image fitting the target area
System.Drawing.Image imgBarcode = bcp.GetBarcodeImage(dpi, targetArea);
//Save it on disk in PNG format
imgBarcode.Save(@"C:\temp\barcode128_full.png", System.Drawing.Imaging.ImageFormat.Png);
imgBarcode.Dispose();
}
figure

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多