从ASP.NET中的BarCode下面删除文本(C#)

时间:2010-02-11 12:00:08

标签: c# asp.net barcode

我正在生成条形码生成的条形码工作正常条码也完美读取它。关键字生成条码生成:

private void GenerateBarCode(string codeInfo)
{
    //Settings for the Image
    string TypeFaceName = "IDAutomationHC39M";
    string imageLocation = Server.MapPath("2010.png");
    //The format of the image file
    ImageFormat format = ImageFormat.Png;
    //path of unique file name    
    string path = "D://MyProjects//RepeaterPaging//images//vijendra.png";
    //REFERENCING A FONT 
    PrivateFontCollection fnts = new PrivateFontCollection();
    fnts.AddFontFile("IDAutomationHC39M.ttf");
    FontFamily fntfam = new FontFamily(TypeFaceName);
    Font fnt = new Font(fntfam, 13);
    fnts.AddFontFile("Arial.ttf");
    FontFamily fntfam2 = new FontFamily("Arial", fnts);
    //DRAWING THE IMAGE  
    Bitmap bmp = new Bitmap(960, 386);           //Canvas size
    Graphics g = Graphics.FromImage(bmp);
    Bitmap orignBitmap = new Bitmap(imageLocation);
    g.Clear(Color.Transparent); //Background color
    SizeF bc = g.MeasureString(codeInfo, fnt);
    Brush br = new SolidBrush(Color.Black);
    g.DrawImage(orignBitmap, 10, 8);
    g.DrawString(codeInfo, fnt, br, 585, 170); //Drawing the Image
    g.TextRenderingHint= 
    bmp.Save(path, format); //Saving the Image file
    bmp.Dispose(); //Releasing all resources (Image file) 
    Response.Clear();
}

alt text http://www.freeimagehosting.net/uploads/0e033f305b.png

现在我要删除条形码下面的文字。 我怎么能这样做?。

3 个答案:

答案 0 :(得分:9)

您可以设置Font = null;以删除条形码下方的文字。

Barcode128 code128 = new Barcode128();
code128.CodeType = Barcode.CODE128;
code128.Code = "123456789";
code128.Font = null;

答案 1 :(得分:6)

更好的选择可能是使用首先没有文本的字体:

尝试类似:Free Barcode Font - Code 39

答案 2 :(得分:1)

您正在使用字体创建条形码,条形下的字符是该字体的一部分。

删除它们的唯一方法是在渲染文本后修改位图(或裁剪它);这需要知道最终条形码有多大。除了痛苦之外,并非不可能。